# -*- coding: utf-8 -*-
#
import numpy

from .helpers import cartesian_to_spherical

from ..helpers import untangle


class Lebedev(object):
    '''
    Sphere integration schemes from

    Lebedev, V. I. (1976),
    Quadratures on a sphere,
    Zh. Vȳchisl. Mat. Mat. Fiz. 16 (2): 293–306,
    <https://doi.org/10.1016/0041-5553(76)90100-2>.

    <https://en.wikipedia.org/wiki/Lebedev_quadrature>
    <https://people.sc.fsu.edu/~jburkardt/datasets/sphere_lebedev_rule/sphere_lebedev_rule.html>
    '''
    # It's a little unclear how to best store the original data. By Burkhardt,
    # it is given in terms of the spherical coordinates phi and theta, however
    # those angles are not well suited to express the symmetry. For that, this
    # code converts the spherical coordinates into Cartesians, applies the
    # symmetry transformations, and converts back.
    def __init__(self, degree):
        self.degree = degree
        if degree == 3:
            data = [
                (1.0/6.0, _a1())
                ]
        elif degree == 5:
            data = [
                (6.6666666666666999e-02, _a1()),
                (7.4999999999999997e-02, _a3())
                ]
        elif degree == 7:
            data = [
                (4.7619047619047998e-02, _a1()),
                (3.8095238095238002e-02, _a2()),
                (3.2142857142857001e-02, _a3())
                ]
        elif degree == 9:
            data = [
                (9.5238095238100000e-03, _a1()),
                (3.2142857142857001e-02, _a3()),
                (2.8571428571429001e-02, _pq0(1.5204336199234819e-01))
                ]
        elif degree == 11:
            data = [
                (1.2698412698413000e-02, _a1()),
                (2.2574955908289000e-02, _a2()),
                (2.1093750000000001e-02, _a3()),
                (2.0173335537919002e-02, _llm(1.4021889900377171e-01))
                ]
        elif degree == 13:
            data = [
                (5.1306717973400001e-04, _a1()),
                (1.6604069565742001e-02, _a2()),
                (-2.9586038961039000e-02, _a3()),
                (2.6576207082158999e-02, _llm(2.3774520615063846e-01)),
                (1.6522170993716001e-02, _pq0(1.0394254360193009e-01))
                ]
        elif degree == 15:
            data = [
                (1.1544011544012000e-02, _a1()),
                (1.1943909085856000e-02, _a3()),
                (1.1110555710602999e-02, _llm(1.7507421939375692e-01)),
                (1.1876501294537000e-02, _llm(4.3945478184831077e-01)),
                (1.1812303746904000e-02, _pq0(1.2209742089682904e-01))
                ]
        elif degree == 17:
            data = [
                (3.8282704949370002e-03, _a1()),
                (9.7937375124880002e-03, _a3()),
                (8.2117372831910004e-03, _llm(8.4313786422641243e-02)),
                (9.9428148911780007e-03, _llm(4.3071280242413768e-01)),
                (9.5954713360710004e-03, _llm(1.8904115614172226e-01)),
                (9.6949963616630008e-03, _pq0(1.5877185995996732e-01))
                ]
        elif degree == 19:
            data = [
                (5.9963136886199996e-04, _a1()),
                (7.3729997186210003e-03, _a2()),
                (7.2105153601440004e-03, _a3()),
                (7.1163554931180000e-03, _llm(4.0591258770376321e-01)),
                (6.7538294863139997e-03, _llm(2.0104130262712491e-01)),
                (7.5743941590539999e-03, _llm(7.1484722212588767e-02)),
                (6.9910873533029997e-03, _rsw(9.6371795051365561e-02, 1.5601434599147013e-01))
                ]
        elif degree == 21:
            data = [
                (5.5448429020370001e-03, _a1()),
                (6.0713327706709997e-03, _a2()),
                (6.3836747735150001e-03, _a3()),
                (5.1833875877479998e-03, _llm(1.1749685297731176e-01)),
                (6.3179290098140002e-03, _llm(4.0274847492887056e-01)),
                (6.2016700065889996e-03, _llm(2.0914651483678789e-01)),
                (5.4771433851369998e-03, _pq0(8.4181899841837118e-02)),
                (5.9683839876810002e-03, _rsw(8.9809985745262069e-02, 1.7391524882944950e-01))
                ]
        elif degree == 23:
            data = [
                (1.7823404472450000e-03, _a1()),
                (5.7169059499770003e-03, _a2()),
                (5.5733831788490002e-03, _a3()),
                (5.6087040825879998e-03, _llm(3.9826475622270380e-01)),
                (5.1582377118049999e-03, _llm(1.3414207692558380e-01)),
                (5.5187714672740003e-03, _llm(2.1649096395255887e-01)),
                (4.1067770281689999e-03, _llm(5.8824910000983513e-02)),
                (5.0518460646149996e-03, _pq0(1.1238233293417914e-01)),
                (5.5302489162329998e-03, _rsw(9.3610506016528261e-02, 1.8486738992916613e-01))
                ]
        elif degree == 25:
            data = [
                (-5.5226399197272999e-02, _a1()),
                (4.4502746074450003e-03, _a3()),
                (4.4968410679210001e-03, _llm(2.1911161547100225e-01)),
                (5.0491534504790003e-03, _llm(1.1600996976256470e-01)),
                (3.9764080180519999e-03, _llm(4.4939797846114538e-01)),
                (4.4014006503809997e-03, _llm(3.8158656197105573e-01)),
                (1.7245443505443998e-02, _llm(1.8189733717869375e-02)),
                (4.2310830953570001e-03, _pq0(1.9788006703008862e-01)),
                (5.1980698640639996e-03, _pq0(1.1537877767214988e-01)),
                (4.6957209725689997e-03, _rsw(1.3909053288148493e-01, 1.8041031475364136e-01))
                ]
        elif degree == 27:
            data = [
                (-1.3137691273270001e-03, _a1()),
                (-2.5227287048589998e-03, _a2()),
                (4.1868538817010003e-03, _a3()),
                (5.3151679778109997e-03, _llm(4.6985075906097712e-01)),
                (4.0471423770859997e-03, _llm(4.5736912538004722e-02)),
                (4.1124823944069999e-03, _llm(2.2827979986143521e-01)),
                (3.5955848997590001e-03, _llm(1.5340561934680283e-01)),
                (4.2561313514280002e-03, _llm(3.8573458131145755e-01)),
                (4.2295827006469996e-03, _pq0(1.7620819117478337e-01)),
                (4.0809142257810004e-03, _rsw(1.0903912649845819e-01, 1.1154278376833886e-01)),
                (4.0714675938309996e-03, _rsw(1.3229823610597896e-01, 1.9433823127269889e-01))
                ]
        elif degree == 29:
            data = [
                (8.5459117251300001e-04, _a1()),
                (3.5991192850260002e-03, _a3()),
                (3.4497884243060001e-03, _llm(1.6563356975103555e-01)),
                (3.6048226014199999e-03, _llm(3.7900326731235512e-01)),
                (3.5767296617430001e-03, _llm(2.3318715063252082e-01)),
                (2.3521014136889998e-03, _llm(4.3432242613699511e-02)),
                (3.1089531224140002e-03, _llm(1.0163742647378354e-01)),
                (3.6500458076770001e-03, _llm(4.5874666471640524e-01)),
                (2.9823449631720001e-03, _pq0(8.5178955893947375e-02)),
                (3.6008209322159999e-03, _pq0(1.9379176117540764e-01)),
                (3.5715405542730001e-03, _rsw(1.3741134098427596e-01, 2.0479416681950366e-01)),
                (3.3923122050060002e-03, _rsw(9.2436097378089485e-02, 1.4177217959441341e-01))
                ]
        elif degree == 31:
            data = [
                (3.0067967494540001e-03, _a1()),
                (3.0506277456509999e-03, _a3()),
                (1.6211046002890001e-03, _llm(4.9223778472633561e-01)),
                (3.0057014849020000e-03, _llm(2.3718361119702946e-01)),
                (2.9909925296540000e-03, _llm(8.7881691484117647e-02)),
                (2.9821706441080001e-03, _llm(4.3639259187409507e-01)),
                (2.7215642373109999e-03, _llm(1.7046229801560281e-01)),
                (3.0335137958109998e-03, _llm(3.7102176386452501e-01)),
                (3.0079495552189999e-03, _pq0(6.1917279446468472e-02)),
                (2.8819646030549999e-03, _pq0(1.2409304632557752e-01)),
                (2.9583576265360002e-03, _rsw(1.5806113679404060e-01, 2.0828080669436863e-01)),
                (3.0360200264069998e-03, _rsw(5.5262897164283606e-02, 1.8943319333967937e-01)),
                (2.8321874039260002e-03, _rsw(1.4374716958744232e-01, 1.3801409152271216e-01))
                ]
        elif degree == 35:
            data = [
                (5.2658979682200003e-04, _a1()),
                (2.5482199720029998e-03, _a2()),
                (2.5123174189269999e-03, _a3()),
                (2.5304038011860000e-03, _llm(4.3179162114213537e-01)),
                (2.0142790209189999e-03, _llm(8.0759324759547141e-02)),
                (2.5017251684030001e-03, _llm(2.4459255261453150e-01)),
                (2.5132671745980001e-03, _llm(3.6632650693196928e-01)),
                (2.3026947822269998e-03, _llm(1.3260573095799710e-01)),
                (1.4624956215949999e-03, _llm(3.4133729959704789e-02)),
                (2.4453734373129999e-03, _llm(1.8743422281948366e-01)),
                (2.4174423756390001e-03, _pq0(1.5632289538887573e-01)),
                (1.9109512821800000e-03, _pq0(6.7435129185211606e-02)),
                (2.4169300443250001e-03, _rsw(1.3628631074813746e-01, 1.6479782386357480e-01)),
                (2.5122368545629999e-03, _rsw(5.6954461777566759e-02, 2.0487103606868223e-01)),
                (2.4966440545529998e-03, _rsw(1.6232746762885708e-01, 2.1938354592682915e-01)),
                (2.2366077604380002e-03, _rsw(9.1800654189073447e-02, 1.1342553218130361e-01))
                ]
        elif degree == 41:
            data = [
                (3.0951212953099998e-04, _a1()),
                (1.8523796985970000e-03, _a3()),
                (1.8717906392780000e-03, _llm(4.7061315452041330e-01)),
                (1.8588125854380000e-03, _llm(4.1285857069172793e-01)),
                (1.8520288282960001e-03, _llm(3.5732296843765937e-01)),
                (1.8467159561510000e-03, _llm(2.5284055844201192e-01)),
                (1.8184717781630001e-03, _llm(2.0332297477589784e-01)),
                (1.7495646572809999e-03, _llm(1.5546662032579706e-01)),
                (1.6172106472540000e-03, _llm(1.0949767633856504e-01)),
                (1.3847372348520001e-03, _llm(6.6154938905214011e-02)),
                (9.7643311650499995e-04, _llm(2.7471383414140356e-02)),
                (1.8571611967740001e-03, _pq0(2.0950773284392912e-01)),
                (1.7051539963960000e-03, _pq0(1.2976684006600994e-01)),
                (1.3003216858860000e-03, _pq0(5.5177434820537059e-02)),
                (1.8428664729050000e-03, _rsw(1.7829135533980064e-01, 2.3038502106916164e-01)),
                (1.8026589343770000e-03, _rsw(1.6141723509493242e-01, 1.8252702992240283e-01)),
                (1.8498305604440000e-03, _rsw(9.3817016585140189e-02, 2.1505582406786847e-01)),
                (1.7139045071070001e-03, _rsw(1.3563251436750076e-01, 1.3668397273489519e-01)),
                (1.5552136033970001e-03, _rsw(9.1479349848571131e-02, 9.3572483366230946e-02)),
                (1.8022391280090001e-03, _rsw(5.6313735629904271e-02, 1.7084986503447563e-01))
                ]
        elif degree == 47:
            data = [
                (2.1929420881800001e-04, _a1()),
                (1.4364336173189999e-03, _a2()),
                (1.4219403443360000e-03, _a3()),
                (6.7981235110500002e-04, _llm(2.2920267027692755e-02)),
                (9.9131842352900000e-04, _llm(5.5570217202494693e-02)),
                (1.1802078332390001e-03, _llm(9.2540233394640209e-02)),
                (1.2965996020809999e-03, _llm(1.3193932972417555e-01)),
                (1.3658714274280000e-03, _llm(1.7300267075173742e-01)),
                (1.4029886047750000e-03, _llm(2.1541157310743222e-01)),
                (1.4186455635960000e-03, _llm(2.5908293759367834e-01)),
                (1.4213767418520000e-03, _llm(3.5059938118395811e-01)),
                (1.4239964754909999e-03, _llm(3.9882643381326005e-01)),
                (1.4315540421789999e-03, _llm(4.4880033485649340e-01)),
                (9.2544014998699995e-04, _pq0(4.6217385713787709e-02)),
                (1.2502399950539999e-03, _pq0(1.1009758338250202e-01)),
                (1.3943658433290000e-03, _pq0(1.7915385100078471e-01)),
                (1.1270890946720000e-03, _rsw(9.1264441674987470e-02, 7.8966041249503030e-02)),
                (1.3457537609110001e-03, _rsw(1.6082173148323642e-01, 1.5530941376009186e-01)),
                (1.4249572833170000e-03, _rsw(4.0882423756649272e-02, 2.1555040407043699e-01)),
                (1.2615233412380000e-03, _rsw(1.3521970407231138e-01, 1.1592327260131904e-01)),
                (1.3925471060530000e-03, _rsw(9.3006229182410555e-02, 1.8368745581967016e-01)),
                (1.4187616778780000e-03, _rsw(1.1923046456321097e-01, 2.2380408267927063e-01)),
                (1.3383666844799999e-03, _rsw(5.5915082382464891e-02, 1.4553611249927151e-01)),
                (1.3937008626760000e-03, _rsw(1.7757069779270387e-01, 1.9640197162886017e-01)),
                (1.4159147574670000e-03, _rsw(1.8936614291248285e-01, 2.3891358165513843e-01))
                ]
        elif degree == 53:
            data = [
                (1.4382941905300000e-04, _a1()),
                (1.1257722882870001e-03, _a3()),
                (4.9480293419500003e-04, _llm(1.9337017127159052e-02)),
                (7.3579901091299998e-04, _llm(4.7507010003751543e-02)),
                (8.8891327713000001e-04, _llm(7.9606030685811055e-02)),
                (9.8883478389199999e-04, _llm(1.1395200456273660e-01)),
                (1.0532996817090000e-03, _llm(1.4981660594749921e-01)),
                (1.0927788070149999e-03, _llm(1.8685324600959904e-01)),
                (1.1143893940630000e-03, _llm(2.2491326381309878e-01)),
                (1.1237247880519999e-03, _llm(2.6397058054454303e-01)),
                (1.1252393252440000e-03, _llm(3.4538559044616385e-01)),
                (1.1261532718160000e-03, _llm(3.8800992457940353e-01)),
                (1.1302869311240000e-03, _llm(4.3201724908277228e-01)),
                (1.1349865343640000e-03, _llm(4.7718170664405080e-01)),
                (6.8233679271100000e-04, _pq0(3.9466000098015340e-02)),
                (9.4541581604500003e-04, _pq0(9.5012450889590677e-02)),
                (1.0744299753860001e-03, _pq0(1.5566509596376388e-01)),
                (1.1293000865690000e-03, _pq0(2.1836437063560810e-01)),
                (8.4368845008999998e-04, _rsw(9.1139953410811797e-02, 6.7842774458994198e-02)),
                (1.0752557204489999e-03, _rsw(9.2454582317000683e-02, 1.5950256677371893e-01)),
                (1.1085772368639999e-03, _rsw(1.8879250210965065e-01, 2.0750107737350024e-01)),
                (9.5664753237800001e-04, _rsw(1.3495092827433242e-01, 1.0003743318687472e-01)),
                (1.0806632507170000e-03, _rsw(1.7706122532834084e-01, 1.7037391906706956e-01)),
                (1.1267971311959999e-03, _rsw(7.1034668270590018e-02, 2.2169791057730812e-01)),
                (1.0225687153580000e-03, _rsw(5.5650552003484302e-02, 1.2604674065566943e-01)),
                (1.1089602677130000e-03, _rsw(4.0496812246470427e-02, 1.8775884691123490e-01)),
                (1.1227906534360000e-03, _rsw(1.3768263611849016e-01, 2.3119618838202721e-01)),
                (1.0324018471170001e-03, _rsw(1.6042026040349594e-01, 1.3444579383088165e-01)),
                (1.1072493822840001e-03, _rsw(1.1843401305669900e-01, 1.9466826141718838e-01)),
                (1.1217800485200000e-03, _rsw(1.9748919518870767e-01, 2.4570106099668815e-01))
                ]
        elif degree == 59:
            data = [
                (1.1051892332700000e-04, _a1()),
                (9.2052327380900002e-04, _a2()),
                (9.1331597864399998e-04, _a3()),
                (3.6904218980200000e-04, _llm(1.6720424160189817e-02)),
                (5.6039909286800002e-04, _llm(4.1260173035864059e-02)),
                (6.8652976292800003e-04, _llm(6.9472970621406505e-02)),
                (7.7203385511499995e-04, _llm(9.9803531857918293e-02)),
                (8.3015459588899998e-04, _llm(1.3155235170779025e-01)),
                (8.6866925501799996e-04, _llm(1.6436581638357306e-01)),
                (8.9270762858499999e-04, _llm(1.9806578517872681e-01)),
                (9.0608202385700004e-04, _llm(2.3257851288553447e-01)),
                (9.1197772549399996e-04, _llm(2.6790167541606985e-01)),
                (9.1287201385999996e-04, _llm(3.4122382322370182e-01)),
                (9.1307149356900002e-04, _llm(3.7941562910807541e-01)),
                (9.1528737845499996e-04, _llm(4.1871960991855212e-01)),
                (9.1874362743199999e-04, _llm(4.5903955700964827e-01)),
                (5.1769773129699997e-04, _pq0(3.4200752605652571e-02)),
                (7.3311436821000002e-04, _pq0(8.3131623643416336e-02)),
                (8.4632328363799998e-04, _pq0(1.3701491459108198e-01)),
                (9.0311226942499997e-04, _pq0(1.9307102433703996e-01)),
                (6.4857784531600004e-04, _rsw(9.1045385853115279e-02, 5.9125048710861904e-02)),
                (7.4350309109799998e-04, _rsw(1.3476625655108154e-01, 8.7535540583541155e-02)),
                (7.9985278918400004e-04, _rsw(5.5470843893378960e-02, 1.1063719205345883e-01)),
                (8.1017314974700003e-04, _rsw(1.6014183229915946e-01, 1.1799025412338100e-01)),
                (8.4833895745900002e-04, _rsw(9.2070189891579085e-02, 1.4034322517430972e-01)),
                (8.5562992573100000e-04, _rsw(1.7669748867405466e-01, 1.4983568798515959e-01)),
                (8.8032086797400005e-04, _rsw(4.0224891242256824e-02, 1.6563360925133691e-01)),
                (8.8110481824300001e-04, _rsw(1.1785881091491886e-01, 1.7158415341836961e-01)),
                (8.8502823412699996e-04, _rsw(1.8836275020540447e-01, 1.8274525247006784e-01)),
                (9.0213422990399999e-04, _rsw(7.0476005927711624e-02, 1.9589548091013856e-01)),
                (9.0100916771099996e-04, _rsw(1.3696162361876710e-01, 2.0401067271108056e-01)),
                (9.0226929384299998e-04, _rsw(1.9702704234601376e-01, 2.1656025209281621e-01)),
                (9.1580161746900003e-04, _rsw(3.1874701782779770e-02, 2.2216394131587347e-01)),
                (9.1315780031900004e-04, _rsw(9.3940275700631959e-02, 2.2746279397069277e-01)),
                (9.1078135794799996e-04, _rsw(1.5164004637018952e-01, 2.3744932011918268e-01)),
                (9.1057602589700000e-04, _rsw(2.0369796009147373e-01, 2.5122346068669016e-01))
                ]
        elif degree == 65:
            data = [
                (7.7771607433000002e-05, _a1()),
                (7.5576464130000000e-04, _a3()),
                (2.8416338060899997e-04, _llm(1.4541973303948906e-02)),
                (4.3744191270500001e-04, _llm(3.6256356902763215e-02)),
                (5.4171747408699995e-04, _llm(6.1343474292837111e-02)),
                (6.1480008913600000e-04, _llm(8.8416635667707577e-02)),
                (6.6643944857999998e-04, _llm(1.1682578562312121e-01)),
                (7.0250393569199995e-04, _llm(1.4622485492090825e-01)),
                (7.2685117892499996e-04, _llm(1.7642404090955399e-01)),
                (7.4226375342100002e-04, _llm(2.0732548358335812e-01)),
                (7.5095450358399999e-04, _llm(2.3889218046843466e-01)),
                (7.5485350577200001e-04, _llm(2.7113178450101194e-01)),
                (7.5540889697700000e-04, _llm(3.3782456517714071e-01)),
                (7.5531471744400003e-04, _llm(3.7242140550502850e-01)),
                (7.5647676532900000e-04, _llm(4.0792779899791881e-01)),
                (7.5879918085200004e-04, _llm(4.4430644337033681e-01)),
                (7.6082618320300001e-04, _llm(4.8135058138208653e-01)),
                (4.0216804478700001e-04, _pq0(3.0024833973753121e-02)),
                (5.8048717939500002e-04, _pq0(7.3566195872041065e-02)),
                (6.7921519559499999e-04, _pq0(1.2189422181840751e-01)),
                (7.3367412112899997e-04, _pq0(1.7244770702224507e-01)),
                (7.5818663009899999e-04, _pq0(2.2404572432210743e-01)),
                (7.5382578598000001e-04, _rsw(2.0859614189791004e-01, 2.5580035778090870e-01)),
                (7.4835172470499997e-04, _rsw(2.0332046717687111e-01, 2.2408472579890718e-01)),
                (7.3717636611100000e-04, _rsw(1.9666471662424795e-01, 1.9306103334458685e-01)),
                (7.1834488957599999e-04, _rsw(1.8804149522722452e-01, 1.6275432818948848e-01)),
                (6.8958155298200002e-04, _rsw(1.7643341386541955e-01, 1.3324870864184388e-01)),
                (6.4801058017899997e-04, _rsw(1.5994385152980334e-01, 1.0471633615407486e-01)),
                (5.8975588965899997e-04, _rsw(1.3463844970796751e-01, 7.7478081650914590e-02)),
                (5.0957088492500002e-04, _rsw(9.0989254912626119e-02, 5.2145244036290880e-02)),
                (7.5369064289099999e-04, _rsw(1.6254595611164124e-01, 2.4277387514946042e-01)),
                (7.4725059655800002e-04, _rsw(1.5100683461207687e-01, 2.1198920799674287e-01)),
                (7.3430171322800002e-04, _rsw(1.3641520503573551e-01, 1.8199417202541565e-01)),
                (7.1308715821799995e-04, _rsw(1.1743797701069179e-01, 1.5287977090573629e-01)),
                (6.8170220321099996e-04, _rsw(9.1794963130582885e-02, 1.2483119354960753e-01)),
                (6.3809411456000002e-04, _rsw(5.5343676032884016e-02, 9.8187373156963867e-02)),
                (7.5503813779200001e-04, _rsw(1.1182321068294632e-01, 2.3269927807800983e-01)),
                (7.4786466401400003e-04, _rsw(9.3330156921377833e-02, 2.0331386675725299e-01)),
                (7.3359187205999997e-04, _rsw(7.0063459168857117e-02, 1.7490196727498353e-01)),
                (7.1101205276600003e-04, _rsw(4.0028954904314858e-02, 1.4765210397447570e-01)),
                (7.5713639786899995e-04, _rsw(5.7100620618486995e-02, 2.2626624665276363e-01)),
                (7.4899083290800000e-04, _rsw(3.1619172770663867e-02, 1.9874998248857403e-01))
                ]
        elif degree == 71:
            data = [
                (6.3090494373999997e-05, _a1()),
                (6.3982877055699999e-04, _a2()),
                (6.3571850735299996e-04, _a3()),
                (2.2212071621900001e-04, _llm(1.2882195121613101e-02)),
                (3.4757840222900002e-04, _llm(3.2207731604644504e-02)),
                (4.3507424435900002e-04, _llm(5.4701957361929614e-02)),
                (4.9785691365199995e-04, _llm(7.9078725412154938e-02)),
                (5.4350362220000005e-04, _llm(1.0472423247884396e-01)),
                (5.7659133882199997e-04, _llm(1.3130333658589721e-01)),
                (6.0012003592300003e-04, _llm(1.5862323583036297e-01)),
                (6.1621781727200003e-04, _llm(1.8657405660527060e-01)),
                (6.2652181524400002e-04, _llm(2.1509963472632135e-01)),
                (6.3239871609700000e-04, _llm(2.4418203633054231e-01)),
                (6.3507678515400002e-04, _llm(2.7383276117335115e-01)),
                (6.3543627753000003e-04, _llm(3.3499578715110123e-01)),
                (6.3523024627099999e-04, _llm(3.6661781267568683e-01)),
                (6.3581178814200003e-04, _llm(3.9899550033190523e-01)),
                (6.3731015903100005e-04, _llm(4.3211887236649743e-01)),
                (6.3904289613700004e-04, _llm(4.6587318374717057e-01)),
                (3.1869134499499998e-04, _pq0(2.6625673881079458e-02)),
                (4.6780285585900001e-04, _pq0(6.5724090063338139e-02)),
                (5.5388296975999996e-04, _pq0(1.0941928033968221e-01)),
                (6.0444759071900001e-04, _pq0(1.5535139330769052e-01)),
                (6.3135751035099999e-04, _pq0(2.0242837200985242e-01)),
                (4.0786264318600000e-04, _rsw(9.0941453092697272e-02, 4.6444296091095669e-02)),
                (4.7599330578099999e-04, _rsw(1.3454465878790239e-01, 6.9233153297460187e-02)),
                (5.2681511864100005e-04, _rsw(1.5979869715905179e-01, 9.3807519971000911e-02)),
                (5.6430485605100001e-04, _rsw(1.7623731960187097e-01, 1.1959776925851553e-01)),
                (5.9145010766100000e-04, _rsw(1.8779859315577804e-01, 1.4629442668395570e-01)),
                (6.1045612578699995e-04, _rsw(1.9638310871162132e-01, 1.7372158857969944e-01)),
                (6.2302528607100004e-04, _rsw(2.0301334075208635e-01, 2.0178171635925438e-01)),
                (6.3056187617599999e-04, _rsw(2.0828355715615282e-01, 2.3042860761585268e-01)),
                (6.3430927676000001e-04, _rsw(2.1255830404253653e-01, 2.5965307523608000e-01)),
                (5.1762689457400003e-04, _rsw(5.5251539800134947e-02, 8.7947076243863623e-02)),
                (5.5648403133099996e-04, _rsw(9.1592741758549992e-02, 1.1204509589546444e-01)),
                (5.8564266710400001e-04, _rsw(1.1712413186869162e-01, 1.3744522362543432e-01)),
                (6.0663869257800000e-04, _rsw(1.3599893913777458e-01, 1.6382358972176320e-01)),
                (6.2088249622299998e-04, _rsw(1.5050761834251830e-01, 1.9099329347026625e-01)),
                (6.2963142978199999e-04, _rsw(1.6199557887487917e-01, 2.1885026631240181e-01)),
                (6.3404237567899998e-04, _rsw(1.7129282153427458e-01, 2.4734548378169824e-01)),
                (5.8296276771100004e-04, _rsw(3.9884148677012343e-02, 1.3278471267259950e-01)),
                (6.0486933760800000e-04, _rsw(6.9754035920736673e-02, 1.5752269349240211e-01)),
                (6.2023623177300002e-04, _rsw(9.2861127237663391e-02, 1.8331731309264804e-01)),
                (6.2990053283999996e-04, _rsw(1.1122182993593546e-01, 2.0997811889533646e-01)),
                (6.3477223906099997e-04, _rsw(1.2612209724859638e-01, 2.3739611005974021e-01)),
                (6.2037789812399995e-04, _rsw(3.1425679347661613e-02, 1.7930414564418112e-01)),
                (6.3084146712400000e-04, _rsw(5.6702475929406089e-02, 2.0435855567306369e-01)),
                (6.3627064669600001e-04, _rsw(7.7401257535699222e-02, 2.3033583124044069e-01)),
                (6.3754141703299997e-04, _rsw(2.6116110081186139e-02, 2.2665311278358263e-01))
                ]
        elif degree == 77:
            data = [
                (4.6560318991999998e-05, _a1()),
                (5.4215491952999998e-04, _a3()),
                (1.7785221333499999e-04, _llm(1.1440240333553339e-02)),
                (2.8113254056799999e-04, _llm(2.8846542223018141e-02)),
                (3.5488963126299999e-04, _llm(4.9184827520653673e-02)),
                (4.0903108971700002e-04, _llm(7.1299761914375620e-02)),
                (4.4932861341700001e-04, _llm(9.4622572399663082e-02)),
                (4.7937284479600002e-04, _llm(1.1883307451319587e-01)),
                (5.0154153191599995e-04, _llm(1.4374040519867876e-01)),
                (5.1751273726800004e-04, _llm(1.6922931750291914e-01)),
                (5.2855222620799998e-04, _llm(1.9523304655136767e-01)),
                (5.3568327037100002e-04, _llm(2.2171858764800120e-01)),
                (5.3979147361800004e-04, _llm(2.4867829648769377e-01)),
                (5.4168994416000000e-04, _llm(2.7612472734531568e-01)),
                (5.4193084768899998e-04, _llm(3.3260491862951663e-01)),
                (5.4169369020300000e-04, _llm(3.6172427418321601e-01)),
                (5.4195443387000002e-04, _llm(3.9148038327329115e-01)),
                (5.4289836566299998e-04, _llm(4.2187592637813365e-01)),
                (5.4422865001000004e-04, _llm(4.5284707042206701e-01)),
                (5.4522503450600004e-04, _llm(4.8423160979755336e-01)),
                (2.5680024977299998e-04, _pq0(2.3828736040487190e-02)),
                (3.8272117002899998e-04, _pq0(5.9194541444981950e-02)),
                (4.5794915619200001e-04, _pq0(9.8975012402674853e-02)),
                (5.0420039690799996e-04, _pq0(1.4097739113409083e-01)),
                (5.3127088899800003e-04, _pq0(1.8418303972165878e-01)),
                (5.4384017907500002e-04, _pq0(2.2799849848688084e-01)),
                (3.3160418732000000e-04, _rsw(9.0912129422669505e-02, 4.1717375566021495e-02)),
                (3.8991135671499999e-04, _rsw(1.3447544395266081e-01, 6.2369818656471697e-02)),
                (4.3433433272000002e-04, _rsw(1.5968977827765909e-01, 8.4703384447698954e-02)),
                (4.6794152623200002e-04, _rsw(1.7608883766671629e-01, 1.0818706859240070e-01)),
                (4.9308479816299996e-04, _rsw(1.8761233271823941e-01, 1.3252485252638690e-01)),
                (5.1150318675400003e-04, _rsw(1.9616323676607925e-01, 1.5754197822918470e-01)),
                (5.2452171484600001e-04, _rsw(2.0276693577146479e-01, 1.8313463768637675e-01)),
                (5.3320414999000003e-04, _rsw(2.0802142331344914e-01, 2.0924485380242722e-01)),
                (5.3845831260199996e-04, _rsw(2.1229618706426556e-01, 2.3584693931713388e-01)),
                (5.4110672108000004e-04, _rsw(2.1582896181460065e-01, 2.6293972992618958e-01)),
                (4.2597973914700000e-04, _rsw(5.5182374747974626e-02, 7.9396227605089076e-02)),
                (4.6049313684600000e-04, _rsw(9.1440556324717356e-02, 1.0134657952582082e-01)),
                (4.8718148782600002e-04, _rsw(1.1688572985379631e-01, 1.2451441281301839e-01)),
                (5.0722429100699999e-04, _rsw(1.3567815467589486e-01, 1.4859255615410610e-01)),
                (5.2170698452400001e-04, _rsw(1.5011458258626764e-01, 1.7339725415054971e-01)),
                (5.3157859662800004e-04, _rsw(1.6154737711489003e-01, 1.9881900020394591e-01)),
                (5.3768337087600000e-04, _rsw(1.7081525014445756e-01, 2.2479687342928137e-01)),
                (5.4080320920700000e-04, _rsw(1.7845916790513258e-01, 2.5130437946191031e-01)),
                (4.8427449178999998e-04, _rsw(3.9774901301368779e-02, 1.2031244726303181e-01)),
                (5.0489260761899999e-04, _rsw(6.9518093435610592e-02, 1.4292449218331743e-01)),
                (5.2026079804800001e-04, _rsw(9.2497642353041892e-02, 1.6651144408744856e-01)),
                (5.3099323883300004e-04, _rsw(1.1074376794678162e-01, 1.9088638537196473e-01)),
                (5.3774197708999995e-04, _rsw(1.2555631421581928e-01, 2.1593495094307411e-01)),
                (5.4116963316800000e-04, _rsw(1.3779122899725810e-01, 2.4159238542021341e-01)),
                (5.1979962932800002e-04, _rsw(3.1277144226667615e-02, 1.6292806741205310e-01)),
                (5.3111208366200000e-04, _rsw(5.6391299211738244e-02, 1.8589222528429114e-01)),
                (5.3843093199600002e-04, _rsw(7.6936516994353749e-02, 2.0969245446347537e-01)),
                (5.4218595040499997e-04, _rsw(9.4008459651757040e-02, 2.3421699784124456e-01)),
                (5.3909483550499998e-04, _rsw(2.5935269868495429e-02, 2.0645400832343744e-01)),
                (5.4333127050299997e-04, _rsw(4.7716296800917581e-02, 2.2958259580795992e-01))
                ]
        elif degree == 83:
            data = [
                (3.9226162707000000e-05, _a1()),
                (4.7038317508499999e-04, _a2()),
                (4.6782028012799998e-04, _a3()),
                (1.4378322289800000e-04, _llm(1.0310535659062601e-02)),
                (2.3035724935800000e-04, _llm(2.6044078957271441e-02)),
                (2.9331107524499999e-04, _llm(4.4544814909259461e-02)),
                (3.4029059983600003e-04, _llm(6.4734911783467922e-02)),
                (3.7591384668699999e-04, _llm(8.6079225771059434e-02)),
                (4.0306384479000000e-04, _llm(1.0827224463759817e-01)),
                (4.2365914322399999e-04, _llm(1.3112750294976167e-01)),
                (4.3905226569500002e-04, _llm(1.5452812760064788e-01)),
                (4.5025234666300001e-04, _llm(1.7840164434395828e-01)),
                (4.5805777277800001e-04, _llm(2.0270607993191486e-01)),
                (4.6313916166199997e-04, _llm(2.2742189873716076e-01)),
                (4.6609289537000002e-04, _llm(2.5254711446731087e-01)),
                (4.6747518079400002e-04, _llm(2.7809406157826799e-01)),
                (4.6764149039300000e-04, _llm(3.3055750758729435e-01)),
                (4.6740864923500001e-04, _llm(3.5754201306062255e-01)),
                (4.6749285394800000e-04, _llm(3.8506984706068115e-01)),
                (4.6807489796900001e-04, _llm(4.1314929942627898e-01)),
                (4.6904498063900002e-04, _llm(4.4174524515098240e-01)),
                (4.6998770758599999e-04, _llm(4.7075537548704388e-01)),
                (2.0999422810700000e-04, _pq0(2.1483230080719451e-02)),
                (3.1722691507099997e-04, _pq0(5.3688384512778804e-02)),
                (3.8320513585500001e-04, _pq0(9.0120927081025551e-02)),
                (4.2521938181499998e-04, _pq0(1.2874501337985692e-01)),
                (4.5138079637499999e-04, _pq0(1.6860448658816918e-01)),
                (4.6577974691100000e-04, _pq0(2.0914825286955899e-01)),
                (2.7333628005199998e-04, _rsw(9.0884725129202884e-02, 3.7743625637352785e-02)),
                (3.2354853684600000e-04, _rsw(1.3442239982419044e-01, 5.6581246121929142e-02)),
                (3.6249087260100001e-04, _rsw(1.5960668222432448e-01, 7.7006240855994113e-02)),
                (3.9255400707100002e-04, _rsw(1.7597464333125812e-01, 9.8523778193216158e-02)),
                (4.1561297811200002e-04, _rsw(1.8746763179651368e-01, 1.2085224031518965e-01)),
                (4.3306449846200001e-04, _rsw(1.9599015346591778e-01, 1.4382072327200804e-01)),
                (4.4596777259200000e-04, _rsw(2.0256938328271545e-01, 1.6732318186207223e-01)),
                (4.5515930044600001e-04, _rsw(2.0780551122175309e-01, 1.9129519268422873e-01)),
                (4.6133414627500002e-04, _rsw(2.1207081261467009e-01, 2.1570120393595657e-01)),
                (4.6510196182699998e-04, _rsw(2.1560665247082370e-01, 2.4052715022858334e-01)),
                (4.6702495361000001e-04, _rsw(2.1857442806027219e-01, 2.6577591697740255e-01)),
                (3.5495555764399999e-04, _rsw(5.5130070446995944e-02, 7.2165047640393387e-02)),
                (3.8561082452500002e-04, _rsw(9.1324219451908203e-02, 9.2280705528800425e-02)),
                (4.0986228457600001e-04, _rsw(1.1670182943449679e-01, 1.1354199196436619e-01)),
                (4.2863286042700002e-04, _rsw(1.3542796525954431e-01, 1.3565851486038821e-01)),
                (4.4278021989899998e-04, _rsw(1.4980340556108718e-01, 1.5845204047317685e-01)),
                (4.5304735114900000e-04, _rsw(1.6118476007373866e-01, 1.8181171606183896e-01)),
                (4.6008054757000000e-04, _rsw(1.7041578793307280e-01, 2.0567040966642677e-01)),
                (4.6445990599599998e-04, _rsw(1.7804384755163255e-01, 2.2999147665371070e-01)),
                (4.6672744557100002e-04, _rsw(1.8443530876371811e-01, 2.5476099527389789e-01)),
                (4.0693605180200002e-04, _rsw(3.9691012871752543e-02, 1.0971921112740224e-01)),
                (4.2604428199200000e-04, _rsw(6.9335427015838280e-02, 1.3050952117630829e-01)),
                (4.4086785080300000e-04, _rsw(9.2212933343718106e-02, 1.5220870821515906e-01)),
                (4.5187481155500002e-04, _rsw(1.1036290574537860e-01, 1.7463595623685488e-01)),
                (4.5955648753800000e-04, _rsw(1.2509380222310257e-01, 1.9767599129304933e-01)),
                (4.6439887743199998e-04, _rsw(1.3727104621488875e-01, 2.2125786065218556e-01)),
                (4.6688274916500001e-04, _rsw(1.4748176427821896e-01, 2.4534236611501609e-01)),
                (4.4005418237400001e-04, _rsw(3.1161557211991396e-02, 1.4897125002254311e-01)),
                (4.5145128901899999e-04, _rsw(5.6146117356132473e-02, 1.7013923493949570e-01)),
                (4.5961986273500001e-04, _rsw(7.6563208362730450e-02, 1.9207633063620311e-01)),
                (4.6486590167999999e-04, _rsw(9.3523267874909402e-02, 2.1466903585235447e-01)),
                (4.6755020171599998e-04, _rsw(1.0780208571690666e-01, 2.3784606027736599e-01)),
                (4.5984944764599999e-04, _rsw(2.5791431603201697e-02, 1.8918326318817155e-01)),
                (4.6549169551499998e-04, _rsw(4.7420963751902127e-02, 2.1055131325424792e-01)),
                (4.6847097795099999e-04, _rsw(6.5771768814421358e-02, 2.3260332842524298e-01)),
                (4.6914455391099997e-04, _rsw(2.2118446350596878e-02, 2.2989800988803780e-01))
                ]
        elif degree == 89:
            data = [
                (2.9986751498999999e-05, _a1()),
                (4.0778605295000000e-04, _a3()),
                (1.1853491925200000e-04, _llm(9.2996211747984441e-03)),
                (1.9134086434300000e-04, _llm(2.3659215108291817e-02)),
                (2.4528865772099998e-04, _llm(4.0594837447854165e-02)),
                (2.8624081832899999e-04, _llm(5.9131240474549589e-02)),
                (3.1780322582600001e-04, _llm(7.8771657558767291e-02)),
                (3.4229456676300002e-04, _llm(9.9226275781960083e-02)),
                (3.6127905202400001e-04, _llm(1.2031450406935230e-01)),
                (3.7586382298199997e-04, _llm(1.4192006474436658e-01)),
                (3.8687117988599998e-04, _llm(1.6396770467049449e-01)),
                (3.9494299331899998e-04, _llm(1.8641014672799455e-01)),
                (4.0060681075399998e-04, _llm(2.0922039460299993e-01)),
                (4.0431921496699997e-04, _llm(2.3238702174833858e-01)),
                (4.0649474958100000e-04, _llm(2.5591115848150697e-01)),
                (4.0752456198100002e-04, _llm(2.7980436335312925e-01)),
                (4.0764235408899998e-04, _llm(3.2878448596405491e-01)),
                (4.0742808622500000e-04, _llm(3.5392629862874120e-01)),
                (4.0741637560100003e-04, _llm(3.7953686493412986e-01)),
                (4.0776477950699999e-04, _llm(4.0562664562776279e-01)),
                (4.0845175527800002e-04, _llm(4.3217699819956279e-01)),
                (4.0924684592199997e-04, _llm(4.5912298323253270e-01)),
                (4.0978726872399997e-04, _llm(4.8634166650348870e-01)),
                (1.7389868117500000e-04, _pq0(1.9504083272014666e-02)),
                (2.6596160452799998e-04, _pq0(4.8992350041235998e-02)),
                (3.2405960081700002e-04, _pq0(8.2533223562092500e-02)),
                (3.6211959644300002e-04, _pq0(1.1822519839431116e-01)),
                (3.8688383307599998e-04, _pq0(1.5516757030789682e-01)),
                (4.0189115326900001e-04, _pq0(1.9284298215381002e-01)),
                (4.0899294329799999e-04, _pq0(2.3090699168193182e-01)),
                (2.2799075277100001e-04, _rsw(9.0868495448714684e-02, 3.4366814701277289e-02)),
                (2.7152054905800000e-04, _rsw(1.3438217012923867e-01, 5.1644421330199426e-02)),
                (3.0579178966999999e-04, _rsw(1.5954236093630902e-01, 7.0425508011736776e-02)),
                (3.3269130524499999e-04, _rsw(1.7588550976799394e-01, 9.0248036695645614e-02)),
                (3.5373347118899999e-04, _rsw(1.8735370470068727e-01, 1.1084459756408502e-01)),
                (3.7005675007799999e-04, _rsw(1.9585248971516858e-01, 1.3204947781981466e-01)),
                (3.8252453725900001e-04, _rsw(2.0241019462254559e-01, 1.5375671527552909e-01)),
                (3.9181251715200000e-04, _rsw(2.0762836888005923e-01, 1.7589859050107451e-01)),
                (3.9847204199400000e-04, _rsw(2.1188095922911135e-01, 1.9843365889485140e-01)),
                (4.0297460033400002e-04, _rsw(2.1541144144517566e-01, 2.2133971967495242e-01)),
                (4.0574286321599999e-04, _rsw(2.1838392518490038e-01, 2.4460950296105605e-01)),
                (4.0717192741100000e-04, _rsw(2.2091169113093448e-01, 2.6824785418282182e-01)),
                (2.9902369506600002e-04, _rsw(5.5089534111938475e-02, 6.5981886895949221e-02)),
                (3.2629517342099999e-04, _rsw(9.1233768928491762e-02, 8.4513579204617287e-02)),
                (3.4826346082400002e-04, _rsw(1.1655782680613067e-01, 1.0412844646981298e-01)),
                (3.6565966817000002e-04, _rsw(1.3523033141502266e-01, 1.2455231517854437e-01)),
                (3.7917404677900002e-04, _rsw(1.4955486971484258e-01, 1.4561357152343674e-01)),
                (3.8940344501599999e-04, _rsw(1.6089079428781922e-01, 1.6720229214098942e-01)),
                (3.9686002455099998e-04, _rsw(1.7008496585779787e-01, 1.8924841946053073e-01)),
                (4.0199313514199998e-04, _rsw(1.7768852416441078e-01, 2.1170940495876650e-01)),
                (4.0521088012800003e-04, _rsw(1.8407262919685871e-01, 2.3456288809155920e-01)),
                (4.0689786139400000e-04, _rsw(1.8949357358778679e-01, 2.5780216116348348e-01)),
                (3.4542753513200000e-04, _rsw(3.9625583080981103e-02, 1.0062502552805537e-01)),
                (3.6299635370100000e-04, _rsw(6.9191932919281884e-02, 1.1983775907421261e-01)),
                (3.7701872338899997e-04, _rsw(9.1987274857231544e-02, 1.3990431349250007e-01)),
                (3.8786086136900002e-04, _rsw(1.1005739257320142e-01, 1.6065107710970586e-01)),
                (3.9590652702200000e-04, _rsw(1.2471640471346784e-01, 1.8196424996532481e-01)),
                (4.0152869754599997e-04, _rsw(1.3683560526132291e-01, 2.0377022223408525e-01)),
                (4.0508667856100001e-04, _rsw(1.4700893386425731e-01, 2.2602383303298287e-01)),
                (4.0693201850499998e-04, _rsw(1.5565027566694820e-01, 2.4870114433171436e-01)),
                (3.7601209640599999e-04, _rsw(3.1070366437438369e-02, 1.3695207931460154e-01)),
                (3.8709695644200000e-04, _rsw(5.5950935472480680e-02, 1.5656068154418076e-01)),
                (3.9552877905299998e-04, _rsw(7.6262109780602938e-02, 1.7688469742993385e-01)),
                (4.0153619112999998e-04, _rsw(9.3124132887366845e-02, 1.9781170620276076e-01)),
                (4.0538369867200002e-04, _rsw(1.0732270843070195e-01, 2.1926740384215249e-01)),
                (4.0735786732999999e-04, _rsw(1.1941677099067832e-01, 2.4120554446321030e-01)),
                (3.9546283792299999e-04, _rsw(2.5676175296736718e-02, 1.7426866411547765e-01)),
                (4.0176455088499998e-04, _rsw(4.7180839679491243e-02, 1.9410348608945335e-01)),
                (4.0590303486499999e-04, _rsw(6.5411311033306316e-02, 2.1456648708853332e-01)),
                (4.0805658094800000e-04, _rsw(8.1027316471850686e-02, 2.3558660319741667e-01)),
                (4.0630187536599998e-04, _rsw(2.1984038590388839e-02, 2.1214959166416331e-01)),
                (4.0871912928000000e-04, _rsw(4.0972180515830611e-02, 2.3209355666287107e-01))
                ]
        elif degree == 95:
            data = [
                (2.5990959538000000e-05, _a1()),
                (3.6031340896900001e-04, _a2()),
                (3.5860679744099998e-04, _a3()),
                (9.8315284743999995e-05, _llm(8.4914784913363833e-03)),
                (1.6050231079500001e-04, _llm(2.1625200928923099e-02)),
                (2.0722001314600001e-04, _llm(3.7199809475789387e-02)),
                (2.4312976188099999e-04, _llm(5.4300342676729292e-02)),
                (2.7118190645000003e-04, _llm(7.2459219134874672e-02)),
                (2.9327620383199997e-04, _llm(9.1401164707510571e-02)),
                (3.1070325142000001e-04, _llm(1.1095207978550450e-01)),
                (3.2438080589199998e-04, _llm(1.3099759338729772e-01)),
                (3.3498990913700000e-04, _llm(1.5146147974388993e-01)),
                (3.4305806885100002e-04, _llm(1.7229343708883429e-01)),
                (3.4901241092899997e-04, _llm(1.9346178184185475e-01)),
                (3.5321489485599998e-04, _llm(2.1494891505620109e-01)),
                (3.5598626690599999e-04, _llm(2.3674841919071238e-01)),
                (3.5762243175500001e-04, _llm(2.5886310795929390e-01)),
                (3.5840505330900002e-04, _llm(2.8130355966846415e-01)),
                (3.5849035813699997e-04, _llm(3.2723414474220325e-01)),
                (3.5829918790400000e-04, _llm(3.5076920668375916e-01)),
                (3.5823711879600002e-04, _llm(3.7471263299687224e-01)),
                (3.5843536311199999e-04, _llm(3.9907537185673680e-01)),
                (3.5891201665200001e-04, _llm(4.2384837461845704e-01)),
                (3.5954457045299999e-04, _llm(4.4899023881292777e-01)),
                (3.6009435571099997e-04, _llm(4.7441677499555912e-01)),
                (1.4564470967399999e-04, _pq0(1.7806326130661489e-02)),
                (2.2523701882799999e-04, _pq0(4.4947649826731696e-02)),
                (2.7661354434699997e-04, _pq0(7.5968729602519450e-02)),
                (3.1107294914999999e-04, _pq0(1.0909458634282024e-01)),
                (3.3425067122999999e-04, _pq0(1.4347412010759739e-01)),
                (3.4919818340299998e-04, _pq0(1.7861837137640935e-01)),
                (3.5760036043500001e-04, _pq0(2.1420666842423691e-01)),
                (1.9219213057900000e-04, _rsw(9.0851643067682078e-02, 3.1465662351515905e-02)),
                (2.3014582165000000e-04, _rsw(1.3435012987204045e-01, 4.7391274897813765e-02)),
                (2.6042485495200002e-04, _rsw(1.5949159054664724e-01, 6.4743652733935217e-02)),
                (2.8452754258699998e-04, _rsw(1.7581481825424403e-01, 8.3091051628271087e-02)),
                (3.0368708979699999e-04, _rsw(1.8726279838436768e-01, 1.0217994835018449e-01)),
                (3.1884148323000001e-04, _rsw(1.9574180715936648e-01, 1.2185054471509318e-01)),
                (3.3070464147200000e-04, _rsw(2.0228096307512089e-01, 1.4199834411329149e-01)),
                (3.3983309690300000e-04, _rsw(2.0748271274310928e-01, 1.6255425833037224e-01)),
                (3.4667578997099998e-04, _rsw(2.1172206500203161e-01, 1.8347340475624949e-01)),
                (3.5160959232300002e-04, _rsw(2.1524379429238114e-01, 2.0472843521609305e-01)),
                (3.5496451840500001e-04, _rsw(2.1821363386661324e-01, 2.2630540159341608e-01)),
                (3.5704159694399998e-04, _rsw(2.2074692285287065e-01, 2.4820109209436331e-01)),
                (3.5812517985000001e-04, _rsw(2.2292542923153252e-01, 2.7042119121176594e-01)),
                (2.5434913299100001e-04, _rsw(5.5057764324450115e-02, 6.0643393234526520e-02)),
                (2.7867110513299999e-04, _rsw(9.1162298940482209e-02, 7.7795074530524783e-02)),
                (2.9855523610800000e-04, _rsw(1.1644339534113997e-01, 9.5974693870492400e-02)),
                (3.1458679291499999e-04, _rsw(1.3507225317618396e-01, 1.1492342603434177e-01)),
                (3.2732906620700002e-04, _rsw(1.4935442403997615e-01, 1.3447671452436294e-01)),
                (3.3727055119399998e-04, _rsw(1.6065112739682047e-01, 1.5452683896978980e-01)),
                (3.4482744378499998e-04, _rsw(1.6981124601058925e-01, 1.7500276656351987e-01)),
                (3.5035927830499999e-04, _rsw(1.7738828884663443e-01, 1.9585862595374656e-01)),
                (3.5418547926600001e-04, _rsw(1.8375632088577024e-01, 2.1706680119919253e-01)),
                (3.5659955179100002e-04, _rsw(1.8917528848309420e-01, 2.3861363429976987e-01)),
                (3.5788020782999999e-04, _rsw(1.9382950251572409e-01, 2.6049662842612681e-01)),
                (2.9586445928599998e-04, _rsw(3.9573723292774400e-02, 9.2744277049835108e-02)),
                (3.1195481291200000e-04, _rsw(6.9077630881621860e-02, 1.1057845952784265e-01)),
                (3.2507452250100000e-04, _rsw(9.1806318187870731e-02, 1.2921937707613373e-01)),
                (3.3551534159399998e-04, _rsw(1.0981020998375317e-01, 1.4850101251605247e-01)),
                (3.4358475685499997e-04, _rsw(1.2440734609770791e-01, 1.6831231500083096e-01)),
                (3.4957868316200003e-04, _rsw(1.3647287735999802e-01, 1.8857905880256401e-01)),
                (3.5377678055299998e-04, _rsw(1.4660501010704388e-01, 2.0925288683827323e-01)),
                (3.5644598154200002e-04, _rsw(1.5522271647497160e-01, 2.3030450756758208e-01)),
                (3.5784640612300002e-04, _rsw(1.6262497682493987e-01, 2.5171934636228960e-01)),
                (3.2397487628399999e-04, _rsw(3.0997494536175008e-02, 1.2650692621088908e-01)),
                (3.3454917841699999e-04, _rsw(5.5793896821439058e-02, 1.4474962575433292e-01)),
                (3.4291261772999998e-04, _rsw(7.6017539414171206e-02, 1.6366334732767546e-01)),
                (3.4924203430999998e-04, _rsw(9.2795515201271828e-02, 1.8313824230521639e-01)),
                (3.5373990502400002e-04, _rsw(1.0692009325938520e-01, 2.0309929262528792e-01)),
                (3.5662091526600002e-04, _rsw(1.1895721147352750e-01, 2.2349687087566739e-01)),
                (3.5810843219200001e-04, _rsw(1.2931678922977702e-01, 2.4430059419858002e-01)),
                (3.4265221175900002e-04, _rsw(2.5582990466131734e-02, 1.6127507663481910e-01)),
                (3.4918487701200002e-04, _rsw(4.6984704777535788e-02, 1.7976340654842216e-01)),
                (3.5393182352299999e-04, _rsw(6.5112349972548375e-02, 1.9883523525711896e-01)),
                (3.5702314384599999e-04, _rsw(8.0635454614735591e-02, 2.1841811256686908e-01)),
                (3.5862073350499999e-04, _rsw(9.4050971523377963e-02, 2.3846345426669463e-01)),
                (3.5411962051599998e-04, _rsw(2.1873318469614950e-02, 1.9664915215120718e-01)),
                (3.5742969115700000e-04, _rsw(4.0745468168720503e-02, 2.1527283022919985e-01)),
                (3.5919932798200000e-04, _rsw(5.7160167070153790e-02, 2.3442242541551717e-01)),
                (3.5958550346600000e-04, _rsw(1.9181495137045916e-02, 2.3235214507614843e-01))
                ]
        elif degree == 101:
            data = [
                (2.0403827308000001e-05, _a1()),
                (3.1781497038899998e-04, _a3()),
                (8.2881151280999997e-05, _llm(7.7498819476144168e-03)),
                (1.3608831925200000e-04, _llm(1.9859794325657789e-02)),
                (1.7668544545399999e-04, _llm(3.4254150179326370e-02)),
                (2.0831531612300000e-04, _llm(5.0099207449504510e-02)),
                (2.3332795446599999e-04, _llm(6.6959363941001632e-02)),
                (2.5328095399299998e-04, _llm(8.4573871448615445e-02)),
                (2.6924721842100000e-04, _llm(1.0277546875267733e-01)),
                (2.8199499468099998e-04, _llm(1.2145249207179949e-01)),
                (2.9209535939699998e-04, _llm(1.4052889127712842e-01)),
                (2.9998897829500002e-04, _llm(1.5995280065216833e-01)),
                (3.0602921204999999e-04, _llm(1.7968963047945319e-01)),
                (3.1051091675200000e-04, _llm(1.9971772633860269e-01)),
                (3.1369023875500002e-04, _llm(2.2002556156551312e-01)),
                (3.1579846524500002e-04, _llm(2.4060986646702168e-01)),
                (3.1705165184299998e-04, _llm(2.6147431218432343e-01)),
                (3.1765684256299998e-04, _llm(2.8262846221673504e-01)),
                (3.1771984112100000e-04, _llm(3.2586699357539184e-01)),
                (3.1755194923900002e-04, _llm(3.4798859900523338e-01)),
                (3.1746549526300000e-04, _llm(3.7046903559938327e-01)),
                (3.1756764154699998e-04, _llm(3.9331892936675267e-01)),
                (3.1789234178399999e-04, _llm(4.1653485356706232e-01)),
                (3.1837882875300000e-04, _llm(4.4009041002791721e-01)),
                (3.1887551519199999e-04, _llm(4.6392771069062388e-01)),
                (3.1919168893100000e-04, _llm(4.8795367923858879e-01)),
                (1.2317796117399999e-04, _pq0(1.6344556304521085e-02)),
                (1.9246613738400001e-04, _pq0(4.1433357717953340e-02)),
                (2.3808818674000000e-04, _pq0(7.0242023125715827e-02)),
                (2.6931006630399998e-04, _pq0(1.0110526879039469e-01)),
                (2.9086733828300002e-04, _pq0(1.3321735582876459e-01)),
                (3.0539146193800002e-04, _pq0(1.6611408528089006e-01)),
                (3.1439166841500002e-04, _pq0(1.9949362467056284e-01)),
                (3.1870422440600002e-04, _pq0(2.3313659571307074e-01)),
                (1.6352195358699999e-04, _rsw(9.0841956876447069e-02, 2.8952404834724148e-02)),
                (1.9681099177000001e-04, _rsw(1.3432493392428288e-01, 4.3695586781513439e-02)),
                (2.2367543422500001e-04, _rsw(1.5945098252294698e-01, 5.9795828764502811e-02)),
                (2.4531866870199998e-04, _rsw(1.7575803974984969e-01, 7.6848698520870701e-02)),
                (2.6275517915800000e-04, _rsw(1.8718942306243078e-01, 9.4613818775979686e-02)),
                (2.7676548601500000e-04, _rsw(1.9565192809740675e-01, 1.1293757086948318e-01)),
                (2.8794670277699998e-04, _rsw(2.0217522837546045e-01, 1.3171774155507171e-01)),
                (2.9676399189199998e-04, _rsw(2.0736238698169687e-01, 1.5088508287849187e-01)),
                (3.0359006846600003e-04, _rsw(2.1158912317257750e-01, 1.7039283361245564e-01)),
                (3.0873382373000001e-04, _rsw(2.1510105422035866e-01, 1.9021041022166779e-01)),
                (3.1246088388600001e-04, _rsw(2.1806493737281718e-01, 2.1031945124519319e-01)),
                (3.1500842942300001e-04, _rsw(2.2059737811839863e-01, 2.3071125619635593e-01)),
                (3.1659583985999999e-04, _rsw(2.2278172874661939e-01, 2.5138506128163629e-01)),
                (3.1743204409600000e-04, _rsw(2.2467843869304452e-01, 2.7234678349164093e-01)),
                (2.1821889098100000e-04, _rsw(5.5032275389998483e-02, 5.5994863171665611e-02)),
                (2.3997279339199999e-04, _rsw(9.1105009578937746e-02, 7.1934641757085485e-02)),
                (2.5797961335100001e-04, _rsw(1.1635132746450935e-01, 8.8852808032822070e-02)),
                (2.7271140526199998e-04, _rsw(1.3494440518144474e-01, 1.0650493423082077e-01)),
                (2.8463276562800001e-04, _rsw(1.4919124865826203e-01, 1.2473359798461711e-01)),
                (2.9414911020500002e-04, _rsw(1.6045439583854126e-01, 1.4343399483159447e-01)),
                (3.0160494921400001e-04, _rsw(1.6958411014215521e-01, 1.6253530351807641e-01)),
                (3.0729497261799998e-04, _rsw(1.7713546561497720e-01, 1.8198993800012658e-01)),
                (3.1147681428899998e-04, _rsw(1.8348438591351865e-01, 2.0176704368284679e-01)),
                (3.1438236736699998e-04, _rsw(1.8889309003713706e-01, 2.2184841321857326e-01)),
                (3.1622697646599998e-04, _rsw(1.9354871836605361e-01, 2.4222583392231792e-01)),
                (3.1721646637599999e-04, _rsw(1.9758700828153689e-01, 2.6289928016364600e-01)),
                (2.5545753989700000e-04, _rsw(3.9532096054840163e-02, 8.5858648734603846e-02)),
                (2.7017040691400002e-04, _rsw(6.8985490458688487e-02, 1.0247860536605306e-01)),
                (2.8236934134700002e-04, _rsw(9.1659656858567223e-02, 1.1986423146649551e-01)),
                (2.9228984632099998e-04, _rsw(1.0960847846368107e-01, 1.3785710478175447e-01)),
                (3.0018290621599999e-04, _rsw(1.2415281154317126e-01, 1.5634959107904098e-01)),
                (3.0628908645400000e-04, _rsw(1.3617046576998615e-01, 1.7526804844229302e-01)),
                (3.1083282792599998e-04, _rsw(1.4626246803107110e-01, 1.9456260875473599e-01)),
                (3.1402431462000002e-04, _rsw(1.5485102812076776e-01, 2.1420077832515072e-01)),
                (3.1606380309799999e-04, _rsw(1.6223902758452816e-01, 2.3416332254082484e-01)),
                (3.1714628822099999e-04, _rsw(1.6864719159439839e-01, 2.5444153772600936e-01)),
                (2.8123884160300002e-04, _rsw(3.0938590172687394e-02, 1.1735653737831038e-01)),
                (2.9121375002900003e-04, _rsw(5.5666271865395384e-02, 1.3439343726746683e-01)),
                (2.9932412565000002e-04, _rsw(7.5817326604415189e-02, 1.5206375390225602e-01)),
                (3.0571017389800000e-04, _rsw(9.2523818732402147e-02, 1.7026098633638423e-01)),
                (3.1053193262500003e-04, _rsw(1.0658258550064224e-01, 1.8891072480321247e-01)),
                (3.1395655144299999e-04, _rsw(1.1856421720479345e-01, 2.0796181155773216e-01)),
                (3.1615430068099998e-04, _rsw(1.2888379912233369e-01, 2.2738053976144706e-01)),
                (3.1729859606100002e-04, _rsw(1.3784718367975352e-01, 2.4714678625564723e-01)),
                (2.9894003368999999e-04, _rsw(2.5506967781255420e-02, 1.4986647996439656e-01)),
                (3.0545558839499998e-04, _rsw(4.6823466514423449e-02, 1.6716346521387787e-01)),
                (3.1047649608100002e-04, _rsw(6.4863898377215068e-02, 1.8500713945116673e-01)),
                (3.1410158259800001e-04, _rsw(8.0304629152594717e-02, 2.0332524290354823e-01)),
                (3.1645206211600000e-04, _rsw(9.3649598370028467e-02, 2.2206729905893724e-01)),
                (3.1766523059099998e-04, _rsw(1.0527704392520035e-01, 2.4119971687448638e-01)),
                (3.1050971610200001e-04, _rsw(2.1781738809397329e-02, 1.8301036563682505e-01)),
                (3.1430141178899999e-04, _rsw(4.0555664737100039e-02, 2.0046242422286578e-01)),
                (3.1681728662899999e-04, _rsw(5.6874519712221683e-02, 2.1840269252643571e-01)),
                (3.1814018655700000e-04, _rsw(7.1164004703825653e-02, 2.3678341481600007e-01)),
                (3.1706636591599999e-04, _rsw(1.9077823421055667e-02, 2.1653004466353704e-01)),
                (3.1854479446299998e-04, _rsw(3.5893948689152660e-02, 2.3405840187253335e-01))
                ]
        elif degree == 107:
            data = [
                (1.8073952522000000e-05, _a1()),
                (2.8480087822400002e-04, _a2()),
                (2.8360658375299998e-04, _a3()),
                (7.0131492667000007e-05, _llm(7.1485561308244445e-03)),
                (1.1627980219600001e-04, _llm(1.8327932440800655e-02)),
                (1.5187285839699999e-04, _llm(3.1679882329443430e-02)),
                (1.7987961082200000e-04, _llm(4.6417885731530835e-02)),
                (2.0225933859700001e-04, _llm(6.2131063015824349e-02)),
                (2.2030931055799999e-04, _llm(7.8571936981023147e-02)),
                (2.3492942343000001e-04, _llm(9.5580077114015755e-02)),
                (2.4676820587500001e-04, _llm(1.1304697548857842e-01)),
                (2.5630926835700001e-04, _llm(1.3089748552923006e-01)),
                (2.6392538967600000e-04, _llm(1.4907913221786356e-01)),
                (2.6991374792700000e-04, _llm(1.6755559234352560e-01)),
                (2.7451964201699998e-04, _llm(1.8630255485037250e-01)),
                (2.7795291974000002e-04, _llm(2.0530501433081755e-01)),
                (2.8039960866799998e-04, _llm(2.2455545786553988e-01)),
                (2.8203023567199999e-04, _llm(2.4405261231057868e-01)),
                (2.8300567474900002e-04, _llm(2.6380052347933758e-01)),
                (2.8348089507800002e-04, _llm(2.8380778325245215e-01)),
                (2.8352823390800002e-04, _llm(3.2465236933016850e-01)),
                (2.8338192670700001e-04, _llm(3.4552087248647612e-01)),
                (2.8328583369100001e-04, _llm(3.6670710215063862e-01)),
                (2.8332682354500002e-04, _llm(3.8822099847734182e-01)),
                (2.8354326770299999e-04, _llm(4.1006242319742842e-01)),
                (2.8390917227400002e-04, _llm(4.3221466297218519e-01)),
                (2.8433081788800001e-04, _llm(4.5463772672101627e-01)),
                (2.8467035505300002e-04, _llm(4.7726402550022157e-01)),
                (1.0511934069700000e-04, _pq0(1.5068765785941985e-02)),
                (1.6578718387999999e-04, _pq0(3.8356808229203281e-02)),
                (2.0646481137099999e-04, _pq0(6.5209090951620349e-02)),
                (2.3479427458199999e-04, _pq0(9.4064014986827676e-02)),
                (2.5477753266000001e-04, _pq0(1.2415729394387427e-01)),
                (2.6868766848499998e-04, _pq0(1.5504683778658174e-01)),
                (2.7786657555199998e-04, _pq0(1.8644642293553204e-01)),
                (2.8309966167800002e-04, _pq0(2.1815146497067894e-01)),
                (1.4030633401699999e-04, _rsw(9.0830807587517784e-02, 2.6756904116324767e-02)),
                (1.6965041259400001e-04, _rsw(1.3430432175017948e-01, 4.0459352526304795e-02)),
                (1.9357872427500000e-04, _rsw(1.5941814239107843e-01, 5.5454454739381299e-02)),
                (2.1306145105199999e-04, _rsw(1.7571195048034041e-01, 7.1362967729269852e-02)),
                (2.2893812659300001e-04, _rsw(1.8712958944497504e-01, 8.7957014442839473e-02)),
                (2.4186302928199999e-04, _rsw(1.9557825010237478e-01, 1.0508921824591066e-01)),
                (2.5234004956300001e-04, _rsw(2.0208801510627031e-01, 1.2266012363643360e-01)),
                (2.6076239734500000e-04, _rsw(2.0726238792918977e-01, 1.4060108941846416e-01)),
                (2.6744410326900000e-04, _rsw(2.1147757945380982e-01, 1.5886448968189493e-01)),
                (2.7264323603400000e-04, _rsw(2.1497977487366274e-01, 1.7741775860229311e-01)),
                (2.7657876859199997e-04, _rsw(2.1793640505617762e-01, 1.9623961744590462e-01)),
                (2.7944286906399999e-04, _rsw(2.2046489014207246e-01, 2.1531760918682935e-01)),
                (2.8140990020600001e-04, _rsw(2.2264958119749648e-01, 2.3464644121628148e-01)),
                (2.8264295315800001e-04, _rsw(2.2455216289232777e-01, 2.5422682342156350e-01)),
                (2.8329835425499998e-04, _rsw(2.2621825664742723e-01, 2.7406457883308355e-01)),
                (1.8866955652799999e-04, _rsw(5.5011796743218440e-02, 5.1916664429042976e-02)),
                (2.0818678827500000e-04, _rsw(9.1058631301628348e-02, 6.6784537103106514e-02)),
                (2.2451486806000001e-04, _rsw(1.1627645997800351e-01, 8.2585939495229133e-02)),
                (2.3803704915100000e-04, _rsw(1.3483995090273831e-01, 9.9089845253358372e-02)),
                (2.4913980418500001e-04, _rsw(1.4905719519611704e-01, 1.1614582930784420e-01)),
                (2.5816324058799999e-04, _rsw(1.6029169857277037e-01, 1.3365237154416265e-01)),
                (2.6539655062299999e-04, _rsw(1.6939470240128604e-01, 1.5153958867365605e-01)),
                (2.7108572167499999e-04, _rsw(1.7692235335047635e-01, 1.6975920517058327e-01)),
                (2.7544340938999998e-04, _rsw(1.8325181388522935e-01, 1.8827843341350048e-01)),
                (2.7865799325199999e-04, _rsw(1.8864678068216575e-01, 2.0707609536882474e-01)),
                (2.8090110806799998e-04, _rsw(1.9329619330299586e-01, 2.2614008841512620e-01)),
                (2.8233361845600002e-04, _rsw(1.9733800814753286e-01, 2.4546567532275862e-01)),
                (2.8311011758100000e-04, _rsw(2.0087427916745015e-01, 2.6505426730152926e-01)),
                (2.2216799703500000e-04, _rsw(3.9498302610348680e-02, 7.9798323543177827e-02)),
                (2.3561857342700000e-04, _rsw(6.8910407484335634e-02, 9.5341283863618329e-02)),
                (2.4692283448099998e-04, _rsw(9.1539591621886629e-02, 1.1161355018149274e-01)),
                (2.5627263486400001e-04, _rsw(1.0944239212094836e-01, 1.2846408561275952e-01)),
                (2.6387567267500002e-04, _rsw(1.2394176295562660e-01, 1.4578898429768233e-01)),
                (2.6993111573899998e-04, _rsw(1.3591741664833346e-01, 1.6351589660362983e-01)),
                (2.7462332683999999e-04, _rsw(1.4597232165717597e-01, 1.8159449395396565e-01)),
                (2.7812256744500001e-04, _rsw(1.5453084191052663e-01, 1.9999045255864559e-01)),
                (2.8058812540499999e-04, _rsw(1.6189838002884194e-01, 2.1868155531206285e-01)),
                (2.8217198769999997e-04, _rsw(1.6829870820217549e-01, 2.3765510193417355e-01)),
                (2.8302225023300003e-04, _rsw(1.7389796113043032e-01, 2.5690613119394867e-01)),
                (2.4579959567399998e-04, _rsw(3.0890470010366697e-02, 1.0928297552819249e-01)),
                (2.5514744074999998e-04, _rsw(5.5561540474147950e-02, 1.2524807166513960e-01)),
                (2.6290653352000002e-04, _rsw(7.5652077427085657e-02, 1.4181409405591308e-01)),
                (2.6919004499299998e-04, _rsw(9.2297873873706943e-02, 1.5887825420174501e-01)),
                (2.7412754857499997e-04, _rsw(1.0629906830213084e-01, 1.7636751625736100e-01)),
                (2.7785309701199999e-04, _rsw(1.1822947861698856e-01, 1.9423032464841863e-01)),
                (2.8050105676499998e-04, _rsw(1.2850763688584335e-01, 2.1243113584373424e-01)),
                (2.8220558340300001e-04, _rsw(1.3744332669490386e-01, 2.3094675049785268e-01)),
                (2.8310169012400001e-04, _rsw(1.4526847762670542e-01, 2.4976380712614185e-01)),
                (2.6244749011300001e-04, _rsw(2.5444384185962215e-02, 1.3977960593947661e-01)),
                (2.6880341630399997e-04, _rsw(4.6689947572179737e-02, 1.5601550753152524e-01)),
                (2.7389327512899997e-04, _rsw(6.4656498775872720e-02, 1.7276705471766679e-01)),
                (2.7779447912400001e-04, _rsw(8.0025363131623950e-02, 1.8996309214808085e-01)),
                (2.8060116616600002e-04, _rsw(9.3305345410747045e-02, 2.0755254589329500e-01)),
                (2.8241814566000000e-04, _rsw(1.0487981947084465e-01, 2.2549977830117915e-01)),
                (2.8335852165799999e-04, _rsw(1.1503990482943398e-01, 2.4378135493302303e-01)),
                (2.7381652369600000e-04, _rsw(2.1705553310466683e-02, 1.7092869125735938e-01)),
                (2.7783652081999998e-04, _rsw(4.0396385176533919e-02, 1.8733470379039832e-01)),
                (2.8078529404199998e-04, _rsw(5.6631779543624333e-02, 2.0419784906948840e-01)),
                (2.8272459496700002e-04, _rsw(7.0844079181818717e-02, 2.2146931332121098e-01)),
                (2.8373423448300002e-04, _rsw(8.3368275377079915e-02, 2.3911473396185762e-01)),
                (2.8092339076099998e-04, _rsw(1.8990155809877871e-02, 2.0248705041668288e-01)),
                (2.8299308097400001e-04, _rsw(3.5714898791472535e-02, 2.1898917808458410e-01)),
                (2.8410978741100001e-04, _rsw(5.0531913367527229e-02, 2.3590766756223550e-01)),
                (2.8434552060100000e-04, _rsw(1.6932714566415905e-02, 2.3427285444479826e-01))
                ]
        elif degree == 113:
            data = [
                (1.4490630225000000e-05, _a1()),
                (2.5463773298299997e-04, _a3()),
                (6.0184329610999998e-05, _llm(6.5858162311974782e-03)),
                (1.0022865832600000e-04, _llm(1.6978295465352695e-02)),
                (1.3152229310300001e-04, _llm(2.9413318245829660e-02)),
                (1.5642137468800001e-04, _llm(4.3169783569429236e-02)),
                (1.7651188415099999e-04, _llm(5.7863492822298399e-02)),
                (1.9287370993100001e-04, _llm(7.3259892524708506e-02)),
                (2.0626585342600000e-04, _llm(8.9205307254977842e-02)),
                (2.1723954459499999e-04, _llm(1.0559463062493106e-01)),
                (2.2620761888800001e-04, _llm(1.2235408447801092e-01)),
                (2.3348856994599999e-04, _llm(1.3943121879271939e-01)),
                (2.3933552731800000e-04, _llm(1.5678876578702314e-01)),
                (2.4395592004700000e-04, _llm(1.7440070291705539e-01)),
                (2.4752518660599998e-04, _llm(1.9224965345551862e-01)),
                (2.5019655581600000e-04, _llm(2.1032512985560742e-01)),
                (2.5210814079300000e-04, _llm(2.2862231991444856e-01)),
                (2.5338810023900000e-04, _llm(2.4714121928482902e-01)),
                (2.5415829008500001e-04, _llm(2.6588596675614762e-01)),
                (2.5453657375300000e-04, _llm(2.8486425964969408e-01)),
                (2.5457269930700000e-04, _llm(3.2356609144151754e-01)),
                (2.5444561974699998e-04, _llm(3.4331599608608754e-01)),
                (2.5434815968800002e-04, _llm(3.6334915805353640e-01)),
                (2.5435064514299998e-04, _llm(3.8367469602992121e-01)),
                (2.5449056754900000e-04, _llm(4.0429436689368065e-01)),
                (2.5476114073400002e-04, _llm(4.2519777898583205e-01)),
                (2.5510603754499999e-04, _llm(4.4635719670027441e-01)),
                (2.5542919338200003e-04, _llm(4.6772345842817015e-01)),
                (2.5562557106900002e-04, _llm(4.8922536088416635e-01)),
                (9.0413396951000000e-05, _pq0(1.3953519100276340e-02)),
                (1.4384263300800000e-04, _pq0(3.5644754359431777e-02)),
                (1.8025230898200000e-04, _pq0(6.0756507662729761e-02)),
                (2.0600522905700000e-04, _pq0(8.7818154986192679e-02)),
                (2.2450022489700001e-04, _pq0(1.1610372809051531e-01)),
                (2.3770598477299999e-04, _pq0(1.4519117779156690e-01)),
                (2.4681189558800002e-04, _pq0(1.7480768135658320e-01)),
                (2.5254108729699998e-04, _pq0(2.0476035016396732e-01)),
                (2.5531014099300001e-04, _pq0(2.3490008480656582e-01)),
                (1.2128797336700000e-04, _rsw(9.0824864292867805e-02, 2.4826589435509375e-02)),
                (1.4728728812700000e-04, _rsw(1.3428785832295381e-01, 3.7606188116090074e-02)),
                (1.6868466010100001e-04, _rsw(1.5939135798995077e-01, 5.1619373138010398e-02)),
                (1.8626984146599999e-04, _rsw(1.7567417436057192e-01, 6.6509666305007861e-02)),
                (2.0074309569899999e-04, _rsw(1.8708032816995010e-01, 8.2060863618279453e-02)),
                (2.1265681253900001e-04, _rsw(1.9551731006557105e-01, 9.8131713425400294e-02)),
                (2.2243946033699999e-04, _rsw(2.0201550707789287e-01, 1.1462577117871149e-01)),
                (2.3042645226699999e-04, _rsw(2.0717874358097391e-01, 1.3147548980645138e-01)),
                (2.3688542884199999e-04, _rsw(2.1138358163535922e-01, 1.4863304930313578e-01)),
                (2.4203520894600000e-04, _rsw(2.1487660288620850e-01, 1.6606474079324737e-01)),
                (2.4605971130799999e-04, _rsw(2.1782569788152228e-01, 1.8374737646904471e-01)),
                (2.4911819122599998e-04, _rsw(2.2034883112475293e-01, 2.0166592160345528e-01)),
                (2.5135281942100001e-04, _rsw(2.2253100842676890e-01, 2.1981189295629958e-01)),
                (2.5289430966900000e-04, _rsw(2.2443471048535044e-01, 2.3818224552443168e-01)),
                (2.5386603684899998e-04, _rsw(2.2610653295319816e-01, 2.5677856177883723e-01)),
                (2.5438686482999999e-04, _rsw(2.2758153244769486e-01, 2.7560640179835677e-01)),
                (1.6425955378299999e-04, _rsw(5.4995040637629868e-02, 4.8314611210007533e-02)),
                (1.8182466598500000e-04, _rsw(9.1020681347709950e-02, 6.2228426841580239e-02)),
                (1.9665656494900001e-04, _rsw(1.1621496759054711e-01, 7.7034827094517908e-02)),
                (2.0906779056599999e-04, _rsw(1.3475379353131628e-01, 9.2515232136368017e-02)),
                (2.1938204095100000e-04, _rsw(1.4894610637440231e-01, 1.0852596759005421e-01)),
                (2.2788708276599999e-04, _rsw(1.6015613925143060e-01, 1.2496896482535171e-01)),
                (2.3482831922799999e-04, _rsw(1.6923584694240840e-01, 1.4177572300314545e-01)),
                (2.4041397555800000e-04, _rsw(1.7674213745131875e-01, 1.5889794103947424e-01)),
                (2.4482274077600001e-04, _rsw(1.8305302984992092e-01, 1.7630176075307522e-01)),
                (2.4821104555900001e-04, _rsw(1.8843321874381722e-01, 1.9396408868298623e-01)),
                (2.5071923977700001e-04, _rsw(1.9307283341108633e-01, 2.1187017371002143e-01)),
                (2.5247659685299998e-04, _rsw(1.9711127029607975e-01, 2.3001196873927823e-01)),
                (2.5360523885400001e-04, _rsw(2.0065234310909458e-01, 2.4838698574725807e-01)),
                (2.5422305880299999e-04, _rsw(2.0377418448763945e-01, 2.6699744672128584e-01)),
                (1.9448170130500000e-04, _rsw(3.9470594067149686e-02, 7.4429367655048387e-02)),
                (2.0678623627500001e-04, _rsw(6.8848613601163303e-02, 8.9011101160059641e-02)),
                (2.1724407346499999e-04, _rsw(9.1440376381947366e-02, 1.0428954517870051e-01)),
                (2.2601259917200001e-04, _rsw(1.0930450155735087e-01, 1.2012073149104222e-01)),
                (2.3326550086900000e-04, _rsw(1.2376554372835964e-01, 1.3640459072604319e-01)),
                (2.3916996815300000e-04, _rsw(1.3570462132681513e-01, 1.5307047844898988e-01)),
                (2.4388015282700000e-04, _rsw(1.4572608901094675e-01, 1.7006826863661167e-01)),
                (2.4753705042600000e-04, _rsw(1.5425580022289115e-01, 1.8736269844263126e-01)),
                (2.5027072356399998e-04, _rsw(1.6160085306526273e-01, 2.0492967773521928e-01)),
                (2.5220317010500002e-04, _rsw(1.6798702094555565e-01, 2.2275382270295324e-01)),
                (2.5345112699799998e-04, _rsw(1.7358285311213922e-01, 2.4082676678346249e-01)),
                (2.5412849149599999e-04, _rsw(1.7851556927875667e-01, 2.5914596164588782e-01)),
                (2.1615092506899999e-04, _rsw(3.0850773488741746e-02, 1.0211385382509494e-01)),
                (2.2487785134400000e-04, _rsw(5.5474813801526857e-02, 1.1712040979083312e-01)),
                (2.3223888033999999e-04, _rsw(7.5514592685457141e-02, 1.3269936463527540e-01)),
                (2.3832654710000001e-04, _rsw(9.2108771617410504e-02, 1.4875177504139472e-01)),
                (2.4324766750200000e-04, _rsw(1.0605995278531749e-01, 1.6520641479475065e-01)),
                (2.4711222237499999e-04, _rsw(1.1794427840769996e-01, 1.8201203094918025e-01)),
                (2.5002917524900002e-04, _rsw(1.2818267530419700e-01, 1.9913219361894169e-01)),
                (2.5210559427600002e-04, _rsw(1.3708757148351533e-01, 2.1654181902688749e-01)),
                (2.5344727855799998e-04, _rsw(1.4489396078472272e-01, 2.3422478436276681e-01)),
                (2.5415997130800002e-04, _rsw(1.5178037729635585e-01, 2.5217225663713383e-01)),
                (2.3173809758599999e-04, _rsw(2.5392421503900364e-02, 1.3080549976812730e-01)),
                (2.3785507337200000e-04, _rsw(4.6578564504173622e-02, 1.4609070788493705e-01)),
                (2.4288844567400001e-04, _rsw(6.4482405657531341e-02, 1.6186487468085262e-01)),
                (2.4690026557599998e-04, _rsw(7.9788986077506951e-02, 1.7805847354917337e-01)),
                (2.4996575742700002e-04, _rsw(9.3010630554137719e-02, 1.9462062582320694e-01)),
                (2.5216761684900002e-04, _rsw(1.0453429327190089e-01, 2.1151470568331482e-01)),
                (2.5359356626499999e-04, _rsw(1.1465498130210473e-01, 2.2871526128228031e-01)),
                (2.5433567433599997e-04, _rsw(1.2359931585974145e-01, 2.4620583798071274e-01)),
                (2.4273532851999999e-04, _rsw(2.1641767994625739e-02, 1.6016126954688778e-01)),
                (2.4682580397400000e-04, _rsw(4.0262151621323544e-02, 1.7562813677130690e-01)),
                (2.5000609564399998e-04, _rsw(5.6425337064693597e-02, 1.9152595956497531e-01)),
                (2.5232383654199999e-04, _rsw(7.0568474335882439e-02, 2.0780580420347788e-01)),
                (2.5383992602500001e-04, _rsw(8.3031513207922888e-02, 2.2443204020397639e-01)),
                (2.5462559272699999e-04, _rsw(9.4079799305243461e-02, 2.4137974530984346e-01)),
                (2.5005833600500002e-04, _rsw(1.8915859258653099e-02, 1.8995037336148488e-01)),
                (2.5247776382599998e-04, _rsw(3.5561605358828428e-02, 2.0552859578566893e-01)),
                (2.5409511938600003e-04, _rsw(5.0300917385090502e-02, 2.2149662453058616e-01)),
                (2.5495240850300000e-04, _rsw(6.3423562316213322e-02, 2.3782091848765186e-01)),
                (2.5425695070099998e-04, _rsw(1.6850394351916542e-02, 2.2000305124709341e-01)),
                (2.5521141275800001e-04, _rsw(3.1933331945866811e-02, 2.3563676240369411e-01))
                ]
        elif degree == 119:
            data = [
                (9.6875218794000004e-05, _a1()),
                (2.3078978953700000e-04, _a2()),
                (2.2973108525000001e-04, _a3()),
                (7.3862659439999994e-05, _llm(1.0516385924747362e-02)),
                (8.2579776985000004e-05, _llm(1.9607727759956711e-02)),
                (9.7060447620999995e-05, _llm(2.9026799358814248e-02)),
                (1.3023938471200001e-04, _llm(4.0642326089249718e-02)),
                (1.5419570045999999e-04, _llm(5.4131258857908281e-02)),
                (1.7044597700899999e-04, _llm(6.8580450801149703e-02)),
                (1.8273748909400001e-04, _llm(8.3606267709875073e-02)),
                (1.9263608174399999e-04, _llm(9.9053860707063776e-02)),
                (2.0080102394900000e-04, _llm(1.1484429655220994e-01)),
                (2.0756359832100000e-04, _llm(1.3092964419991071e-01)),
                (2.1313066386899999e-04, _llm(1.4727734560668404e-01)),
                (2.1765623299400001e-04, _llm(1.6386387750530554e-01)),
                (2.2126822629899999e-04, _llm(1.8067214609683985e-01)),
                (2.2407995156699999e-04, _llm(1.9769037475978798e-01)),
                (2.2619598161900000e-04, _llm(2.1491150246675975e-01)),
                (2.2771563688100000e-04, _llm(2.3233272360089904e-01)),
                (2.2873517721300001e-04, _llm(2.4995505609031266e-01)),
                (2.2934908140800000e-04, _llm(2.6778290225548135e-01)),
                (2.2965053123800001e-04, _llm(2.8582357281485271e-01)),
                (2.2967938323200000e-04, _llm(3.2258362430889304e-01)),
                (2.2957854438400001e-04, _llm(3.4132612734755713e-01)),
                (2.2950179315299999e-04, _llm(3.6032518829756327e-01)),
                (2.2950596381800001e-04, _llm(3.7958875015055438e-01)),
                (2.2962323432399999e-04, _llm(3.9911888341587753e-01)),
                (2.2985301787399999e-04, _llm(4.1890825413607846e-01)),
                (2.3015797902800001e-04, _llm(4.3893634985964675e-01)),
                (2.3046904049999999e-04, _llm(4.5916635731392214e-01)),
                (2.3070279959099999e-04, _llm(4.7954403395230100e-01)),
                (9.3122746966999993e-05, _pq0(1.4633268093293701e-02)),
                (1.1999193858800000e-04, _pq0(3.3462389092328126e-02)),
                (1.5980391388800000e-04, _pq0(5.6754040342175384e-02)),
                (1.8222537635700001e-04, _pq0(8.2374134243730773e-02)),
                (1.9885795936600001e-04, _pq0(1.0901192711829599e-01)),
                (2.1126201025300001e-04, _pq0(1.3642262397953589e-01)),
                (2.2015948877000000e-04, _pq0(1.6438864218918189e-01)),
                (2.2616225908999999e-04, _pq0(1.9273033095644077e-01)),
                (2.2964584534399999e-04, _pq0(2.2130770601583696e-01)),
                (1.0060069902700000e-04, _rsw(9.1750974403818547e-02, 2.4410278130508934e-02)),
                (1.2276766896400000e-04, _rsw(1.3580210539409612e-01, 3.5382715864839764e-02)),
                (1.4678642802700001e-04, _rsw(1.5953299849580979e-01, 4.8249372601740462e-02)),
                (1.6441789121000001e-04, _rsw(1.7557097381661901e-01, 6.2221274511200221e-02)),
                (1.7776648907200001e-04, _rsw(1.8699808292305223e-01, 7.6877237066328361e-02)),
                (1.8848256645199999e-04, _rsw(1.9546818473295871e-01, 9.2026602306258420e-02)),
                (1.9732692464500000e-04, _rsw(2.0197548955720607e-01, 1.0756867024480242e-01)),
                (2.0467677758600000e-04, _rsw(2.0713322870671971e-01, 1.2344093669929387e-01)),
                (2.1076001259200000e-04, _rsw(2.1132699380742836e-01, 1.3960113817894251e-01)),
                (2.1574163622699999e-04, _rsw(2.1480749208731725e-01, 1.5601912401447615e-01)),
                (2.1975578169200000e-04, _rsw(2.1774450760799194e-01, 1.7267289238979269e-01)),
                (2.2291926118399999e-04, _rsw(2.2025728125329380e-01, 1.8954672467673767e-01)),
                (2.2533851102099999e-04, _rsw(2.2243190002217569e-01, 2.0663024212585462e-01)),
                (2.2711371075500000e-04, _rsw(2.2433175890594728e-01, 2.2391779598328637e-01)),
                (2.2834140929199999e-04, _rsw(2.2600420410968869e-01, 2.4140796233184830e-01)),
                (2.2911616731300001e-04, _rsw(2.2748493626130054e-01, 2.5910306579316977e-01)),
                (2.2953139085800001e-04, _rsw(2.2880101820767618e-01, 2.7700869554303459e-01)),
                (1.4382047213599999e-04, _rsw(5.5276282182960136e-02, 4.5016516214026352e-02)),
                (1.6077380254999999e-04, _rsw(9.0891786527066545e-02, 5.8168758829755127e-02)),
                (1.7414838535300000e-04, _rsw(1.1606584768892120e-01, 7.2156490082289387e-02)),
                (1.8519184675200000e-04, _rsw(1.3466287782191522e-01, 8.6752852455574542e-02)),
                (1.9446286380700001e-04, _rsw(1.4888184667192184e-01, 1.0183705003414102e-01)),
                (2.0224954462800000e-04, _rsw(1.6008641609438060e-01, 1.1732491972964101e-01)),
                (2.0874623824399999e-04, _rsw(1.6914583071357059e-01, 1.3315529432199105e-01)),
                (2.1410747548199999e-04, _rsw(1.7662708772793559e-01, 1.4928400200024181e-01)),
                (2.1846409137499999e-04, _rsw(1.8291259640483867e-01, 1.6567897781060953e-01)),
                (2.2193091652199999e-04, _rsw(1.8826959652404424e-01, 1.8231697416161841e-01)),
                (2.2461231183400001e-04, _rsw(1.9289039405464387e-01, 1.9918168092900812e-01)),
                (2.2660627669200001e-04, _rsw(1.9691635865724391e-01, 2.1626262386917275e-01)),
                (2.2800729522300000e-04, _rsw(2.0045299271403422e-01, 2.3355439892994348e-01)),
                (2.2890820252000001e-04, _rsw(2.0357985431538875e-01, 2.5105604362918860e-01)),
                (2.2940126951199999e-04, _rsw(2.0635731909135352e-01, 2.6877046285286710e-01)),
                (1.7224344887399999e-04, _rsw(3.9378288987501037e-02, 6.9720955626965869e-02)),
                (1.8302374214599999e-04, _rsw(6.8765214992033599e-02, 8.3480286761274294e-02)),
                (1.9238553500000000e-04, _rsw(9.1380062524357417e-02, 9.7868672712272328e-02)),
                (2.0040678619399999e-04, _rsw(1.0923879941714051e-01, 1.1277518194583593e-01)),
                (2.0718172973499999e-04, _rsw(1.2367272022505514e-01, 1.2811231242293247e-01)),
                (2.1282508341000000e-04, _rsw(1.3557553914812265e-01, 1.4381388857638544e-01)),
                (2.1745137194400000e-04, _rsw(1.4555844267897486e-01, 1.5983162224390302e-01)),
                (2.2116618391500000e-04, _rsw(1.5405091609008043e-01, 1.7613046963974818e-01)),
                (2.2406652578099999e-04, _rsw(1.6136311154174407e-01, 1.9268515215710519e-01)),
                (2.2624395166300000e-04, _rsw(1.6772384900060022e-01, 2.0947806768341121e-01)),
                (2.2778745572299999e-04, _rsw(1.7330450249100102e-01, 2.2649801525426480e-01)),
                (2.2878543144499999e-04, _rsw(1.7823474250845384e-01, 2.4373928716683302e-01)),
                (2.2932684996200000e-04, _rsw(1.8261331449142987e-01, 2.6120092361521785e-01)),
                (1.9126282015300000e-04, _rsw(3.0826486217527829e-02, 9.5838555003585013e-02)),
                (1.9924996722400001e-04, _rsw(5.5437285128824246e-02, 1.0996392769038052e-01)),
                (2.0612755334499999e-04, _rsw(7.5447933506145023e-02, 1.2463585758948627e-01)),
                (2.1193182159699999e-04, _rsw(9.1999795134575138e-02, 1.3976275969351334e-01)),
                (2.1674165818800001e-04, _rsw(1.0590256029388166e-01, 1.5527533859903808e-01)),
                (2.2064307305199999e-04, _rsw(1.1773708480210619e-01, 1.7112279130974364e-01)),
                (2.2371869387000001e-04, _rsw(1.2792807449444732e-01, 1.8726799085545387e-01)),
                (2.2604800750300000e-04, _rsw(1.3679195959290727e-01, 2.0368400494827041e-01)),
                (2.2770988845600000e-04, _rsw(1.4456781959171353e-01, 2.2035202512766836e-01)),
                (2.2878457151100001e-04, _rsw(1.5143795264924456e-01, 2.3726007126828003e-01)),
                (2.2935472682399999e-04, _rsw(1.5754212552618363e-01, 2.5440202881169705e-01)),
                (2.0560738398500000e-04, _rsw(2.5368727813601492e-02, 1.2285883675780981e-01)),
                (2.1142358658300000e-04, _rsw(4.6516918040560913e-02, 1.3726662608864851e-01)),
                (2.1631756297700000e-04, _rsw(6.4370734127695353e-02, 1.5214524225422435e-01)),
                (2.2033921581099999e-04, _rsw(7.9620531273394107e-02, 1.6742616688720019e-01)),
                (2.2354731768499999e-04, _rsw(9.2783349758120789e-02, 1.8305841978191756e-01)),
                (2.2600241414999999e-04, _rsw(1.0425098426147628e-01, 1.9900412993375799e-01)),
                (2.2776759293300001e-04, _rsw(1.1432372391005954e-01, 2.1523548117911101e-01)),
                (2.2891021122799999e-04, _rsw(1.2323345302858435e-01, 2.3173291593970030e-01)),
                (2.2950279546299999e-04, _rsw(1.3115990614661632e-01, 2.4848396150511579e-01)),
                (2.1612815898800001e-04, _rsw(2.1601407141936407e-02, 1.5054956776138143e-01)),
                (2.2019804774000000e-04, _rsw(4.0167579666447580e-02, 1.6515510453413385e-01)),
                (2.2349520665900001e-04, _rsw(5.6267816815705245e-02, 1.8017406638553224e-01)),
                (2.2605400985199999e-04, _rsw(7.0344731705236210e-02, 1.9555697106582798e-01)),
                (2.2791579818999999e-04, _rsw(8.2744373552056494e-02, 2.1126635077307532e-01)),
                (2.2912969185700000e-04, _rsw(9.3738673054977059e-02, 2.2727433676348735e-01)),
                (2.2975337525399999e-04, _rsw(1.0354168759119256e-01, 2.4356125198500728e-01)),
                (2.2349273564699999e-04, _rsw(1.8859462807990477e-02, 1.7870662368990595e-01)),
                (2.2612880129900000e-04, _rsw(3.5437914736334987e-02, 1.9344302424510040e-01)),
                (2.2808181609200001e-04, _rsw(5.0105227346792444e-02, 2.0855095383964517e-01)),
                (2.2937732951800000e-04, _rsw(6.3158372957568848e-02, 2.2399430105042561e-01)),
                (2.3005287673400000e-04, _rsw(7.4835707429565690e-02, 2.3974597893380359e-01)),
                (2.2818938550700000e-04, _rsw(1.6780890146659389e-02, 2.0717093634853642e-01)),
                (2.2957204448400000e-04, _rsw(3.1787958381561086e-02, 2.2198482012593049e-01)),
                (2.3032276490300000e-04, _rsw(4.5271244754101284e-02, 2.3713798916789933e-01)),
                (2.3048319132300000e-04, _rsw(1.5154107595876577e-02, 2.3581330991926575e-01))
                ]
        elif degree == 125:
            data = [
                (9.0805107643000005e-05, _a1()),
                (2.0848243619900000e-04, _a3()),
                (5.0111056572000002e-05, _llm(1.0370154728179072e-02)),
                (5.9425204097000003e-05, _llm(1.6921349905386622e-02)),
                (9.5643948261000001e-05, _llm(2.6237512831250583e-02)),
                (1.1855306571300000e-04, _llm(3.7916970970109598e-02)),
                (1.3645101142300000e-04, _llm(5.0764429877938798e-02)),
                (1.5058288256099999e-04, _llm(6.4365850736626359e-02)),
                (1.6192987498700001e-04, _llm(7.8508706099648301e-02)),
                (1.7124505042700000e-04, _llm(9.3070349974578276e-02)),
                (1.7898910981599999e-04, _llm(1.0797423771743253e-01)),
                (1.8544749556299999e-04, _llm(1.2316928382347049e-01)),
                (1.9081486366700001e-04, _llm(1.3861967848048073e-01)),
                (1.9523774052799999e-04, _llm(1.5429949627873993e-01)),
                (1.9883492542799999e-04, _llm(1.7018980238335438e-01)),
                (2.0170798071600000e-04, _llm(1.8627708646592972e-01)),
                (2.0394730827100001e-04, _llm(2.0255235349932824e-01)),
                (2.0563602792900000e-04, _llm(2.1901051941436284e-01)),
                (2.0685258230700000e-04, _llm(2.3564994889491964e-01)),
                (2.0767248775299999e-04, _llm(2.5247206217045837e-01)),
                (2.0816942782399999e-04, _llm(2.6948096903380381e-01)),
                (2.0841576312199999e-04, _llm(2.8668309128917630e-01)),
                (2.0843815311300001e-04, _llm(3.2170146690868673e-01)),
                (2.0834762771299999e-04, _llm(3.3953743424370153e-01)),
                (2.0826861944600001e-04, _llm(3.5760412753497606e-01)),
                (2.0824756861100000e-04, _llm(3.7590884786315942e-01)),
                (2.0831398602900000e-04, _llm(3.9445455219170689e-01)),
                (2.0847455618299999e-04, _llm(4.1323716441219555e-01)),
                (2.0870913133800000e-04, _llm(4.3224257046843712e-01)),
                (2.0897184132999999e-04, _llm(4.5144385720653785e-01)),
                (2.0920033034800000e-04, _llm(4.7079971418440270e-01)),
                (2.0933361482600000e-04, _llm(4.9025509912850934e-01)),
                (7.5917081174000002e-05, _pq0(1.2227280073337400e-02)),
                (1.0833839681700000e-04, _pq0(3.1358021314585115e-02)),
                (1.4030193952899999e-04, _pq0(5.3271592324768829e-02)),
                (1.6159701792900000e-04, _pq0(7.7334435780881117e-02)),
                (1.7711441875000001e-04, _pq0(1.0251681487866783e-01)),
                (1.8877600229900000e-04, _pq0(1.2847228711290487e-01)),
                (1.9734746707699999e-04, _pq0(1.5498299192569068e-01)),
                (2.0337876612299999e-04, _pq0(1.8187924973307468e-01)),
                (2.0723436265200000e-04, _pq0(2.0903016391066756e-01)),
                (2.0911778342300001e-04, _pq0(2.3632741940083679e-01)),
                (9.3166844846999999e-05, _rsw(9.0126362967441642e-02, 2.2081809907520338e-02)),
                (1.1161936886800000e-04, _rsw(1.3464429316038959e-01, 3.3033899458888488e-02)),
                (1.2986235515600000e-04, _rsw(1.5950767583470055e-01, 4.5252103503882188e-02)),
                (1.4502368324599999e-04, _rsw(1.7561712910914978e-01, 5.8389356405930820e-02)),
                (1.5727199581499999e-04, _rsw(1.8699113302697762e-01, 7.2172845606673822e-02)),
                (1.6732347858700001e-04, _rsw(1.9542637654942827e-01, 8.6445084437516653e-02)),
                (1.7568601187299999e-04, _rsw(2.0191730688850307e-01, 1.0110878625952792e-01)),
                (1.8267762904400001e-04, _rsw(2.0706589456111046e-01, 1.1609905098916502e-01)),
                (1.8851163479900000e-04, _rsw(2.1125278750919410e-01, 1.3137056480756018e-01)),
                (1.9334578601700001e-04, _rsw(2.1472744934880078e-01, 1.4689075034997995e-01)),
                (1.9730606718999999e-04, _rsw(2.1765940322029603e-01, 1.6263581218533191e-01)),
                (2.0049870996199999e-04, _rsw(2.2016781632878143e-01, 1.7858847420281362e-01)),
                (2.0301709092799999e-04, _rsw(2.2233885028263625e-01, 1.9473667446532816e-01)),
                (2.0494614601200000e-04, _rsw(2.2423617704309690e-01, 2.1107275091530697e-01)),
                (2.0636535652000001e-04, _rsw(2.2590763028060071e-01, 2.2759286517745056e-01)),
                (2.0735079273800000e-04, _rsw(2.2738958536386672e-01, 2.4429654404542667e-01)),
                (2.0797645932599999e-04, _rsw(2.2870993735006442e-01, 2.6118627862297200e-01)),
                (2.0831505349700000e-04, _rsw(2.2989017282376814e-01, 2.7826713900481920e-01)),
                (1.2627151215900001e-04, _rsw(5.5155122560262608e-02, 4.2310681520751132e-02)),
                (1.4143861285500001e-04, _rsw(9.0991876345263040e-02, 5.4589376614723295e-02)),
                (1.5387404013100000e-04, _rsw(1.1609130309265848e-01, 6.7724863080749459e-02)),
                (1.6424349423299999e-04, _rsw(1.3461361004959066e-01, 8.1474355764863893e-02)),
                (1.7297906092400000e-04, _rsw(1.4879266648213288e-01, 9.5706666427371204e-02)),
                (1.8035051902599999e-04, _rsw(1.5997544458093477e-01, 1.1033448477821067e-01)),
                (1.8654753500799999e-04, _rsw(1.6901899659110070e-01, 1.2529527766860735e-01)),
                (1.9171826696799999e-04, _rsw(1.7648652695422162e-01, 1.4054363187678640e-01)),
                (1.9598517090300001e-04, _rsw(1.8275983943393823e-01, 1.5604637053459755e-01)),
                (1.9945295481200000e-04, _rsw(1.8810610095779381e-01, 1.7177922087650654e-01)),
                (2.0221389111500001e-04, _rsw(1.9271766811900420e-01, 1.8772469250478985e-01)),
                (2.0435180242100000e-04, _rsw(1.9673625405294790e-01, 2.0387075949209946e-01)),
                (2.0594503130199999e-04, _rsw(2.0026810539286616e-01, 2.2020999421672954e-01)),
                (2.0706857153200001e-04, _rsw(2.0339392272465742e-01, 2.3673893643468683e-01)),
                (2.0779553106900001e-04, _rsw(2.0617557433232722e-01, 2.5345758522487716e-01)),
                (2.0819803878200001e-04, _rsw(2.0866075859467562e-01, 2.7036895055700305e-01)),
                (1.5213186103800000e-04, _rsw(3.9410280254305090e-02, 6.5419434129611834e-02)),
                (1.6227727201899999e-04, _rsw(6.8737634348286530e-02, 7.8383669278623808e-02)),
                (1.7104981394200000e-04, _rsw(9.1299017971344362e-02, 9.1967776897579748e-02)),
                (1.7859111494500000e-04, _rsw(1.0912251981954836e-01, 1.0605258338214514e-01)),
                (1.8501253136900001e-04, _rsw(1.2352966531571986e-01, 1.2055153978932494e-01)),
                (1.9042297039299999e-04, _rsw(1.3540849558689305e-01, 1.3540001689357692e-01)),
                (1.9492599561200000e-04, _rsw(1.4536923887551031e-01, 1.5055025789706813e-01)),
                (1.9861615453600000e-04, _rsw(1.5384162902729173e-01, 1.6596714863702092e-01)),
                (2.0157905856399999e-04, _rsw(1.6113600597060737e-01, 1.8162497364454830e-01)),
                (2.0389341987100000e-04, _rsw(1.6748150282400451e-01, 1.9750524472951309e-01)),
                (2.0563340605400001e-04, _rsw(1.7305027217484600e-01, 2.1359531060400441e-01)),
                (2.0687059594599999e-04, _rsw(1.7797335159579097e-01, 2.2988742026669648e-01)),
                (2.0767539061100000e-04, _rsw(1.8235142093220438e-01, 2.4637802734319578e-01)),
                (2.0811793917299999e-04, _rsw(1.8626230107937097e-01, 2.6306722160214996e-01)),
                (1.7003452162300001e-04, _rsw(3.0792579752977809e-02, 9.0054286275454448e-02)),
                (1.7749067799900000e-04, _rsw(5.5361285601420090e-02, 1.0341040526963217e-01)),
                (1.8396593770000000e-04, _rsw(7.5334010695157119e-02, 1.1728781768718408e-01)),
                (1.8949874629800001e-04, _rsw(9.1850316761410367e-02, 1.3159904129352548e-01)),
                (1.9415488094500001e-04, _rsw(1.0571891183405266e-01, 1.4627768423517856e-01)),
                (1.9800784272499999e-04, _rsw(1.1752130645637797e-01, 1.6127422810047151e-01)),
                (2.0112962847400001e-04, _rsw(1.2768288123464533e-01, 1.7655197528689459e-01)),
                (2.0358884569699999e-04, _rsw(1.3652050869977778e-01, 1.9208387677995004e-01)),
                (2.0545163253500001e-04, _rsw(1.4427398585052412e-01, 2.0785039759940338e-01)),
                (2.0678310330899999e-04, _rsw(1.5112698907187344e-01, 2.2383813400871805e-01)),
                (2.0764853202800000e-04, _rsw(1.5722142565632113e-01, 2.4003885901039174e-01)),
                (2.0811414395300001e-04, _rsw(1.6266754254588039e-01, 2.5644879093954648e-01)),
                (1.8343830154700000e-04, _rsw(2.5325081005789160e-02, 1.1562254436683640e-01)),
                (1.8895405917800000e-04, _rsw(4.6428449961204592e-02, 1.2926166315631585e-01)),
                (1.9366770236000001e-04, _rsw(6.4237227632904154e-02, 1.4334861692059786e-01)),
                (1.9761764950700000e-04, _rsw(7.9442693058475275e-02, 1.5781772849584919e-01)),
                (2.0085360045599999e-04, _rsw(9.2563204668793808e-02, 1.7261939216447131e-01)),
                (2.0342803517100000e-04, _rsw(1.0399154701924673e-01, 1.8771635191499633e-01)),
                (2.0539444660299999e-04, _rsw(1.1402887166058162e-01, 2.0308082722495971e-01)),
                (2.0680776428800001e-04, _rsw(1.2290839869853407e-01, 2.1869258580978418e-01)),
                (2.0772509496600001e-04, _rsw(1.3081203498008256e-01, 2.3453767669697423e-01)),
                (2.0820624407099999e-04, _rsw(1.3788228024837046e-01, 2.5060752219057841e-01)),
                (1.9343744865500000e-04, _rsw(2.1552567328192232e-02, 1.4185759926245525e-01)),
                (1.9741070104800000e-04, _rsw(4.0067051631723437e-02, 1.5569779942126724e-01)),
                (2.0071292903900000e-04, _rsw(5.6114816577325075e-02, 1.6993013808033486e-01)),
                (2.0337369474699999e-04, _rsw(7.0140394416643839e-02, 1.8450644512314449e-01)),
                (2.0542871259000001e-04, _rsw(8.2491358778023730e-02, 1.9938994854477599e-01)),
                (2.0691849368200001e-04, _rsw(9.3441189014312823e-02, 2.1455286714031777e-01)),
                (2.0788836898100001e-04, _rsw(1.0320613363919821e-01, 2.2997480076438112e-01)),
                (2.0838863661200001e-04, _rsw(1.1195762822953943e-01, 2.4564164823387824e-01)),
                (2.0065932754700000e-04, _rsw(1.8804643571100836e-02, 1.6856369904372870e-01)),
                (2.0337284261400001e-04, _rsw(3.5325186761107394e-02, 1.8254122534596789e-01)),
                (2.0550087813800001e-04, _rsw(4.9934046170158730e-02, 1.9686989497063076e-01)),
                (2.0706517835200001e-04, _rsw(6.2930413588709752e-02, 2.1151428543922507e-01)),
                (2.0809533350900000e-04, _rsw(7.4555061253897631e-02, 2.2644733164035438e-01)),
                (2.0862849989900000e-04, _rsw(8.5001837612060649e-02, 2.4164906251899629e-01)),
                (2.0555493876400001e-04, _rsw(1.6720321133884327e-02, 1.9559080497154124e-01)),
                (2.0718718502699999e-04, _rsw(3.1664125027211491e-02, 2.0965583005954419e-01)),
                (2.0828566004299999e-04, _rsw(4.5084366391905058e-02, 2.2404091295361969e-01)),
                (2.0887058588200000e-04, _rsw(5.7188455484861234e-02, 2.3872033981036780e-01)),
                (2.0839958675400000e-04, _rsw(1.5088493795529350e-02, 2.2282021351432665e-01)),
                (2.0905097128900001e-04, _rsw(2.8756638475066133e-02, 2.3692998731338194e-01))
                ]
        else:
            assert degree == 131, 'Illegal degree {}.'.format(degree)
            data = [
                (9.7353479460000007e-06, _a1()),
                (1.9075812417999999e-04, _a2()),
                (1.9010595467399999e-04, _a3()),
                (3.9264245389000002e-05, _llm(5.3227455371747615e-03)),
                (6.6679054673000004e-05, _llm(1.3788807661542444e-02)),
                (8.8688913149999993e-05, _llm(2.4015279208793712e-02)),
                (1.0663060009600001e-04, _llm(3.5402097592654558e-02)),
                (1.2145067433400000e-04, _llm(4.7625884770818583e-02)),
                (1.3380546816400000e-04, _llm(6.0485467745096444e-02)),
                (1.4416770236300001e-04, _llm(7.3845994273592494e-02)),
                (1.5288802008299999e-04, _llm(8.7612883227883048e-02)),
                (1.6023306237699999e-04, _llm(1.0171780783142727e-01)),
                (1.6641026534499999e-04, _llm(1.1611045233455725e-01)),
                (1.7158458540099999e-04, _llm(1.3075336178024718e-01)),
                (1.7589010001300000e-04, _llm(1.4561857977102433e-01)),
                (1.7943824852599999e-04, _llm(1.6068538000014998e-01)),
                (1.8232381067600001e-04, _llm(1.7593869686001495e-01)),
                (1.8462932529600000e-04, _llm(1.9136801834299505e-01)),
                (1.8642840793200001e-04, _llm(2.0696659225171787e-01)),
                (1.8778826946299999e-04, _llm(2.2273084731729559e-01)),
                (1.8877163218500000e-04, _llm(2.3865996027990771e-01)),
                (1.8943816381799999e-04, _llm(2.5475551652483230e-01)),
                (1.8984548995300000e-04, _llm(2.7102121972755128e-01)),
                (1.9004979295800001e-04, _llm(2.8746260727206774e-01)),
                (1.9006715019200001e-04, _llm(3.2090169760108539e-01)),
                (1.8998375555300001e-04, _llm(3.3791614643184276e-01)),
                (1.8990141131600000e-04, _llm(3.5513833574333897e-01)),
                (1.8985812577100000e-04, _llm(3.7257499116325343e-01)),
                (1.8988047561000000e-04, _llm(3.9022968865342511e-01)),
                (1.8997936104300000e-04, _llm(4.0810079471542193e-01)),
                (1.9014645548400000e-04, _llm(4.2617905890602742e-01)),
                (1.9035332462600000e-04, _llm(4.4444518687317358e-01)),
                (1.9055561584600000e-04, _llm(4.6286802017996048e-01)),
                (1.9070371556600000e-04, _llm(4.8140418557336773e-01)),
                (5.9929978441999997e-05, _pq0(1.1310243989387595e-02)),
                (9.7490593825000000e-05, _pq0(2.9169910339518858e-02)),
                (1.2416808046000001e-04, _pq0(5.0059727951126287e-02)),
                (1.4376261543000001e-04, _pq0(7.2743610517535237e-02)),
                (1.5842000547900000e-04, _pq0(9.6594430288630115e-02)),
                (1.6944365509800001e-04, _pq0(1.2124153534283726e-01)),
                (1.7766170140200000e-04, _pq0(1.4644433896058337e-01)),
                (1.8361324344399999e-04, _pq0(1.7203495880339476e-01)),
                (1.8764947270799999e-04, _pq0(1.9788834338328859e-01)),
                (1.8999065353399999e-04, _pq0(2.2390500638984218e-01)),
                (8.1432528208000006e-05, _rsw(9.0807729946678309e-02, 2.0234976545606537e-02)),
                (9.9988598908999995e-05, _rsw(1.3425313437943931e-01, 3.0791513975727509e-02)),
                (1.1561994030699999e-04, _rsw(1.5933529753293507e-01, 4.2428573608540528e-02)),
                (1.2876320926400001e-04, _rsw(1.7559474387152710e-01, 5.4847385764345259e-02)),
                (1.3983786433700000e-04, _rsw(1.8697616413514456e-01, 6.7862519851585965e-02)),
                (1.4918764684200000e-04, _rsw(1.9538761650599207e-01, 8.1349870011576703e-02)),
                (1.5708556791800001e-04, _rsw(2.0186005116426667e-01, 9.5222435538271991e-02)),
                (1.6374839481000001e-04, _rsw(2.0699786823858482e-01, 1.0941738337466307e-01)),
                (1.6935005666300000e-04, _rsw(2.1117823705345842e-01, 1.2388848245789830e-01)),
                (1.7403227693899999e-04, _rsw(2.1464839964553800e-01, 1.3860139230284224e-01)),
                (1.7791266372800001e-04, _rsw(2.1757698434849110e-01, 1.5353059225669063e-01)),
                (1.8109081088399999e-04, _rsw(2.2008279874604561e-01, 1.6865731115169186e-01)),
                (1.8365291326000001e-04, _rsw(2.2225182965665546e-01, 1.8396809522031476e-01)),
                (1.8567528417800001e-04, _rsw(2.2414771524450244e-01, 1.9945379743461106e-01)),
                (1.8722705666099999e-04, _rsw(2.2581843070468999e-01, 2.1510885155477852e-01)),
                (1.8837226455900000e-04, _rsw(2.2730068797403552e-01, 2.3093073984658202e-01)),
                (1.8917143245300000e-04, _rsw(2.2862290650008202e-01, 2.4691958951531628e-01)),
                (1.8968274804500001e-04, _rsw(2.2980726302668361e-01, 2.6307784688118568e-01)),
                (1.8996284170599999e-04, _rsw(2.3087113142300042e-01, 2.7940998397434441e-01)),
                (1.1233018290000000e-04, _rsw(5.4960154830764885e-02, 3.9685511112668721e-02)),
                (1.2536988267100000e-04, _rsw(9.0941115035375067e-02, 5.1282848659972270e-02)),
                (1.3662661176799999e-04, _rsw(1.1608536299300992e-01, 6.3668165311651578e-02)),
                (1.4627368561100001e-04, _rsw(1.3457114229605111e-01, 7.6655037770284915e-02)),
                (1.5450764666899999e-04, _rsw(1.4870901993292637e-01, 9.0118172162713769e-02)),
                (1.6150962808100000e-04, _rsw(1.5986457678287783e-01, 1.0396985137813632e-01)),
                (1.6743666397400000e-04, _rsw(1.6889103852901027e-01, 1.1814691335361566e-01)),
                (1.7242250024399999e-04, _rsw(1.7634661387071177e-01, 1.3260304839481410e-01)),
                (1.7658108229900001e-04, _rsw(1.8261072684190624e-01, 1.4730399306525144e-01)),
                (1.8001041260100000e-04, _rsw(1.8794964657239119e-01, 1.6222440366884705e-01)),
                (1.8279604373300001e-04, _rsw(1.9255531334410969e-01, 1.7734575514755402e-01)),
                (1.8501403007200001e-04, _rsw(1.9656924560520134e-01, 1.9265489262832161e-01)),
                (1.8673335073900001e-04, _rsw(2.0009777628813399e-01, 2.0814301188814746e-01)),
                (1.8801786886399999e-04, _rsw(2.0322205551846648e-01, 2.2380492749560826e-01)),
                (1.8892789256499999e-04, _rsw(2.0600478706314848e-01, 2.3963853422185255e-01)),
                (1.8952138325100000e-04, _rsw(2.0849486479493454e-01, 2.5564439368858483e-01)),
                (1.8985482774000001e-04, _rsw(2.1073062246566091e-01, 2.7182539182380822e-01)),
                (1.3491059359400001e-04, _rsw(3.9412311879977333e-02, 6.1499633318586246e-02)),
                (1.4440600683699999e-04, _rsw(6.8718008676615761e-02, 7.3735595284609379e-02)),
                (1.5267973909300001e-04, _rsw(9.1229467573337553e-02, 8.6587008278432076e-02)),
                (1.5982087714099999e-04, _rsw(1.0900938379190972e-01, 9.9928920620531297e-02)),
                (1.6593543686200000e-04, _rsw(1.2338534873465379e-01, 1.1367246507966848e-01)),
                (1.7112799109499999e-04, _rsw(1.3524103237312468e-01, 1.2775309364349502e-01)),
                (1.7549527256000000e-04, _rsw(1.4518318271487132e-01, 1.4212325590905792e-01)),
                (1.7912478507999999e-04, _rsw(1.5364010084782956e-01, 1.5674768615020959e-01)),
                (1.8209543008800000e-04, _rsw(1.6092154698853492e-01, 1.7160027742447831e-01)),
                (1.8447885245500000e-04, _rsw(1.6725631269818478e-01, 1.8666195504100935e-01)),
                (1.8634094817100000e-04, _rsw(1.7281646358029945e-01, 2.0191919877017048e-01)),
                (1.8774330087999999e-04, _rsw(1.7773338859450455e-01, 2.1736299641150908e-01)),
                (1.8874445437099999e-04, _rsw(1.8210867119381738e-01, 2.3298808801529905e-01)),
                (1.8940098293800001e-04, _rsw(1.8602160213108371e-01, 2.4879240455908375e-01)),
                (1.8976833450400001e-04, _rsw(1.8953446129275137e-01, 2.6477663000763413e-01)),
                (1.5173270374700001e-04, _rsw(3.0766587591270468e-02, 8.4778537005129051e-02)),
                (1.5877405574800000e-04, _rsw(5.5289860994278177e-02, 9.7437110084604164e-02)),
                (1.6490933822700001e-04, _rsw(7.5219405584434504e-02, 1.1059913862072224e-01)),
                (1.7019152161900001e-04, _rsw(9.1699389775370760e-02, 1.2417693175761622e-01)),
                (1.7468477531400000e-04, _rsw(1.0553695851721087e-01, 1.3810566957703913e-01)),
                (1.7845555120099999e-04, _rsw(1.1731232933908642e-01, 1.5233701192014826e-01)),
                (1.8156875621100000e-04, _rsw(1.2745040610958361e-01, 1.6683479184938224e-01)),
                (1.8408643706600001e-04, _rsw(1.3626778554549454e-01, 1.8157206381210320e-01)),
                (1.8606767853899999e-04, _rsw(1.4400407297575304e-01, 1.9652904668186610e-01)),
                (1.8756905837400000e-04, _rsw(1.5084309806678883e-01, 2.1169166823959817e-01)),
                (1.8864532363499999e-04, _rsw(1.5692753210238236e-01, 2.2705051940312437e-01)),
                (1.8935011233299999e-04, _rsw(1.6236912011127927e-01, 2.4260008857908136e-01)),
                (1.8973661845200001e-04, _rsw(1.6725594616853851e-01, 2.5833818378790174e-01)),
                (1.6439088151500001e-04, _rsw(2.5281161699181137e-02, 1.0903290330610359e-01)),
                (1.6963003509100000e-04, _rsw(4.6338477342026320e-02, 1.2198193837478237e-01)),
                (1.7415531038400000e-04, _rsw(6.4103957879986559e-02, 1.3535752608613894e-01)),
                (1.7800152823899999e-04, _rsw(7.9269544280355306e-02, 1.4909625543129384e-01)),
                (1.8121167870800001e-04, _rsw(9.2353789206304174e-02, 1.6315007497515954e-01)),
                (1.8383231580900000e-04, _rsw(1.0374964250583865e-01, 1.7748258789945276e-01)),
                (1.8591131198400000e-04, _rsw(1.1375826933869605e-01, 1.9206641599337021e-01)),
                (1.8749692202200000e-04, _rsw(1.2261297646769470e-01, 2.0688130855142844e-01)),
                (1.8863756126800000e-04, _rsw(1.3049623418525841e-01, 2.2191277278599147e-01)),
                (1.8938195758100000e-04, _rsw(1.3755188473152266e-01, 2.3715107032095173e-01)),
                (1.8977947482600000e-04, _rsw(1.4389397546287197e-01, 2.5259046857155831e-01)),
                (1.7389639265799999e-04, _rsw(2.1503575091997660e-02, 1.3396091400374679e-01)),
                (1.7774423598700001e-04, _rsw(3.9968786065459672e-02, 1.4711250158052783e-01)),
                (1.8100108150700001e-04, _rsw(5.5968935675639958e-02, 1.6063578470307313e-01)),
                (1.8369203182499999e-04, _rsw(6.9949700204170087e-02, 1.7448414230314210e-01)),
                (1.8584894732100001e-04, _rsw(8.2259354289030528e-02, 1.8862179054505013e-01)),
                (1.8750793425000001e-04, _rsw(9.3171800057154766e-02, 2.0302152978156687e-01)),
                (1.8870802391000001e-04, _rsw(1.0290384553548745e-01, 2.1766308035731791e-01)),
                (1.8949057521800000e-04, _rsw(1.1162809740148144e-01, 2.3253184782671749e-01)),
                (1.8989910611999999e-04, _rsw(1.1948257608562191e-01, 2.4761799872662679e-01)),
                (1.8090650164599999e-04, _rsw(1.8752312681588317e-02, 1.5936010813316978e-01)),
                (1.8362971216000001e-04, _rsw(3.5219952551577678e-02, 1.7265164187758278e-01)),
                (1.8584269162399999e-04, _rsw(4.9777212697449565e-02, 1.8627468563179544e-01)),
                (1.8756541011300001e-04, _rsw(6.2724554308902655e-02, 2.0019485384614805e-01)),
                (1.8882407518300000e-04, _rsw(7.4303735264153625e-02, 2.1438576163747036e-01)),
                (1.8964973838699999e-04, _rsw(8.4709821495428911e-02, 2.2882760855507525e-01)),
                (1.9007755302200000e-04, _rsw(9.4100565240554268e-02, 2.4350610430281819e-01)),
                (1.8585250414800001e-04, _rsw(1.6664860454884734e-02, 1.8508497012826405e-01)),
                (1.8762486900800000e-04, _rsw(3.1552499596793293e-02, 1.9846888958508430e-01)),
                (1.8894044390600000e-04, _rsw(4.4917694770955023e-02, 2.1215434282404463e-01)),
                (1.8981685392700001e-04, _rsw(5.6969480016667275e-02, 2.2611631173577260e-01)),
                (1.9027799406599999e-04, _rsw(6.7879282785589176e-02, 2.4033595704116209e-01)),
                (1.8901256417300000e-04, _rsw(1.5030097226026596e-02, 2.1102384053945519e-01)),
                (1.8994346378000001e-04, _rsw(2.8639186244189006e-02, 2.2446149363706319e-01)),
                (1.9045208568300000e-04, _rsw(4.1005449856606119e-02, 2.3817805808874687e-01)),
                (1.9055344987300001e-04, _rsw(1.3716092309148088e-02, 2.3708499670410427e-01))
                ]

        self.azimuthal_polar, self.weights = untangle(data)
        self.points = _spherical_to_cartesian(self.azimuthal_polar)
        return


def _spherical_to_cartesian(azimuthal_polar):
    sin_azimuthal_polar = numpy.sin(azimuthal_polar)
    cos_azimuthal_polar = numpy.cos(azimuthal_polar)
    return numpy.stack([
        sin_azimuthal_polar[:, 1] * cos_azimuthal_polar[:, 0],
        sin_azimuthal_polar[:, 1] * sin_azimuthal_polar[:, 0],
        cos_azimuthal_polar[:, 1],
        ], axis=1)


def _a1():
    return numpy.array([
       [+0.0, 0.0],
       [+0.0, 1.0],
       [-0.5, 0.5],
       [+0.0, 0.5],
       [+0.5, 0.5],
       [+1.0, 0.5],
       ]) * numpy.pi


def _a2():
    return numpy.array([
        [+0.75, 0.5],
        [+0.25, 0.5],
        [-0.25, 0.5],
        [-0.75, 0.5],
        #
        [-0.5, 0.25],
        [+0.0, 0.25],
        [+0.5, 0.25],
        [+1.0, 0.25],
        #
        [-0.5, 0.75],
        [+0.0, 0.75],
        [+0.5, 0.75],
        [+1.0, 0.75],
        ]) * numpy.pi


def _a3():
    X = numpy.array([
        [+1.0, +1.0, +1.0],
        [+1.0, +1.0, -1.0],
        [+1.0, -1.0, +1.0],
        [+1.0, -1.0, -1.0],
        [-1.0, +1.0, +1.0],
        [-1.0, +1.0, -1.0],
        [-1.0, -1.0, +1.0],
        [-1.0, -1.0, -1.0],
        ]) / numpy.sqrt(3.0)
    return cartesian_to_spherical(X)


def _pq0(alpha):
    return numpy.array([
        [+0.0+alpha, 0.5],
        [+0.5-alpha, 0.5],
        [+0.5+alpha, 0.5],
        [+1.0-alpha, 0.5],
        #
        [+0.0-alpha, 0.5],
        [-0.5+alpha, 0.5],
        [-0.5-alpha, 0.5],
        [-1.0+alpha, 0.5],
        #
        [+0.0, alpha],
        [+0.5, alpha],
        [+1.0, alpha],
        [-0.5, alpha],
        #
        [+0.0, 0.5-alpha],
        [+0.5, 0.5-alpha],
        [+1.0, 0.5-alpha],
        [-0.5, 0.5-alpha],
        #
        [+0.0, 0.5+alpha],
        [+0.5, 0.5+alpha],
        [+1.0, 0.5+alpha],
        [-0.5, 0.5+alpha],
        #
        [+0.0, 1.0-alpha],
        [+0.5, 1.0-alpha],
        [+1.0, 1.0-alpha],
        [-0.5, 1.0-alpha],
        ]) * numpy.pi


def _llm(beta):
    # translate the point into cartesian coords; note that phi=pi/4.
    beta *= numpy.pi
    L = numpy.sin(beta) / numpy.sqrt(2)
    m = numpy.cos(beta)
    X = numpy.array([
        [+L, +L, +m],
        [-L, +L, +m],
        [+L, -L, +m],
        [-L, -L, +m],
        [+L, +L, -m],
        [-L, +L, -m],
        [+L, -L, -m],
        [-L, -L, -m],
        #
        [+L, +m, +L],
        [-L, +m, +L],
        [+L, +m, -L],
        [-L, +m, -L],
        [+L, -m, +L],
        [-L, -m, +L],
        [+L, -m, -L],
        [-L, -m, -L],
        #
        [+m, +L, +L],
        [+m, -L, +L],
        [+m, +L, -L],
        [+m, -L, -L],
        [-m, +L, +L],
        [-m, -L, +L],
        [-m, +L, -L],
        [-m, -L, -L],
        ])
    # translate back to spherical coords
    return cartesian_to_spherical(X)


def _rsw(azimuthal, polar):
    # translate the point into cartesian coords; note that phi=pi/4.
    azimuthal *= numpy.pi
    polar *= numpy.pi

    sin_polar = numpy.sin(polar)
    cos_polar = numpy.cos(polar)
    sin_azimuthal = numpy.sin(azimuthal)
    cos_azimuthal = numpy.cos(azimuthal)

    r = sin_polar * cos_azimuthal
    s = sin_polar * sin_azimuthal
    w = cos_polar

    X = numpy.array([
        [+r, +s, +w],
        [+w, +r, +s],
        [+s, +w, +r],
        [+s, +r, +w],
        [+w, +s, +r],
        [+r, +w, +s],
        #
        [-r, +s, +w],
        [+w, -r, +s],
        [+s, +w, -r],
        [+s, -r, +w],
        [+w, +s, -r],
        [-r, +w, +s],
        #
        [+r, -s, +w],
        [+w, +r, -s],
        [-s, +w, +r],
        [-s, +r, +w],
        [+w, -s, +r],
        [+r, +w, -s],
        #
        [+r, +s, -w],
        [-w, +r, +s],
        [+s, -w, +r],
        [+s, +r, -w],
        [-w, +s, +r],
        [+r, -w, +s],
        #
        [-r, -s, +w],
        [+w, -r, -s],
        [-s, +w, -r],
        [-s, -r, +w],
        [+w, -s, -r],
        [-r, +w, -s],
        #
        [-r, +s, -w],
        [-w, -r, +s],
        [+s, -w, -r],
        [+s, -r, -w],
        [-w, +s, -r],
        [-r, -w, +s],
        #
        [+r, -s, -w],
        [-w, +r, -s],
        [-s, -w, +r],
        [-s, +r, -w],
        [-w, -s, +r],
        [+r, -w, -s],
        #
        [-r, -s, -w],
        [-w, -r, -s],
        [-s, -w, -r],
        [-s, -r, -w],
        [-w, -s, -r],
        [-r, -w, -s],
        ])

    return cartesian_to_spherical(X)
